[C#]面向对象
来源:互联网 发布:编程语言 使用范围 编辑:程序博客网 时间:2024/06/05 09:55
之前一直说面向对象,但是至今依然不太明白面向对象具体是什么东西。直到看到C#面向对象这一节的视频,才明白面向对象大概是什么定西。
面向对象是一种编程的思想,在编写程序的时候不再按照程序的进行一步步来编程,而是直接把抽象成对象。一个类有包含很多相似的对象,这样可以大大提高代码的可维护性和代码的效率。下面来介绍一下对象、类、方法等一些东西。
1、对象
万物皆对象,首先,对象是一个看得见摸得着的具体物体的特指,举个例子,一个特指的人就是一个对象,或者说我正在用的电脑、鼠标等。
2、方法
编程语言中方法是对象的行为,就好比如说一个人是一个对象,而这个人的行为就可以理解为这个人的方法。举个例子,一个人A要去北京,A可以坐火车,可以坐飞机,这些都是A的行为,都可以叫做方法。
3、属性
属性就是一个对象的属性,比如说一个人的特征就可以理解为这个人的属性,他的身高、体重、年龄等等。或者我们经常玩的游戏里会有游戏人物的属性,血量、魔法、生命值等等。
4、类
类就是具有相同属性和功能的抽象的集合。例如,苹果、橘子、香蕉都可以称之为一个类,都属于水果类,但是一个 特指的苹果就是一个对象,实例化对象就是创建对象的过程,也就是C#中经常执行的一个NEW。
5、面向对象的三大特征
(1)封装:每个对象都包含他能进行操作所需要的所有信息,这个特性成为封装,对象不必依赖其他对象来完成自己的操作。就想我们的房子一样,我们随意更换家里的摆设对外部是没有影响的,但是通过窗户和门我们可以和外面的世界连接。
好处:减少耦合、类内部的实现可以自由的修改、类具有清晰的对外接口
(2)继承:继承定义了类如何相互关联,共享特性。继承的工作方式是,定义子类和父类,或叫做基类和派生类,其中子类继承父类的所有特性,还可以定义新的特性。这个更简单啦,猫和狗都继承了哺乳动物的一些特点,但是他们又有各自的特点。
特点:子类拥有父类所有的非private属性和功能;子类可以扩展父类没有的属性和功能;子类可以用自己的方式实现父类的功能(方法重写)。
需要注意的就是继承不可以乱用,继承是一种强耦合的关系,要合理的运用继承。
(3)多态:不同的对象可以执行相同的动作,但要通过自己的代码来执行。比如:猫和狗都继承了动物叫这个特征,但是猫是喵喵叫,而狗是汪汪叫。
注意:子类以父类的身份出现;子类在工作时时以自己的方式实现;子类以父类的身份出现时,子类特有的属性和方法不可以使用。
6、抽象类
没有一个具体的对象与之对应,也就是类的抽象。例如:猫、狗、猪等都是哺乳动物,他们都具有一些共同的属性,所以我们就可以抽象出一个动物类,让猫、狗、猪来继承动物类。
注意:抽象方法类不能实例化;抽象方法是不许被子类重写的方法;如果类中包含抽象方法就必须定义为抽象类;抽象类就是用来被继承的。
7、接口
接口是把饮食公共方法和属性组合起来,一封装特定功能的一个集合。
类是对对象的抽象,抽象类是对类的抽象,接口是对行为的抽象
- C与面向对象
- C 面向对象程序设计
- c实现面向对象
- Obj-c面向对象
- JAVA面向对象C
- c面向对象设计
- c++-->面向对象
- 面向对象(C++)
- [C#] 面向对象
- c#-面向对象
- c实现面向对象
- c实现面向对象
- 面向对象的 C
- Objective C面向对象
- objective-c面向对象
- c++-面向对象类
- Objective-C 面向对象
- c实现面向对象
- Java中的静态多分派和动态多分派
- CSS代码缩写, 占用更少的宽带,单位和值
- Python“内部类”
- 2.26随记
- 浅谈外存分配的几种方式
- [C#]面向对象
- Effiective Java读书笔记——第2章 创建和销毁对象
- 历届试题 国王的烦恼 (并查集)
- leetcode 520 python
- java安全架构____RSA加密解密
- 正则表达式
- Android AccessibilityService拦截事件及VR眼镜返回按键捕捉
- PAT 1004
- Codeforces Round #401(Div. 2)E. Hanoi Factory【贪心+栈】