面向对象这个词我很早就知道了,但具体是什么东西?什么是面向对象?一直以来都
不理解,只知道它有三大特征,即封装-继承-多态。直到学习完C#视频和看完设计模式
中面向对象基础后,对C#面向对象才有了一个大致的理解。下面这幅图是我对它的一个
宏观的认识。
一、基本知识
1、类成员
属性
C#不直接访问类的数据,通过get和set访问类中字段
方法
表示类的行为。方法可以构造,也可以重载
2、封装
每个对象都包含它能进行操作所需要的所有信息,这种特性就是封装
3、继承
如果两个对象A和B,可以描述为B是A,则说明B可以继承A
对象的继承代表了一种"is-a"的关系
4、多态
不同的对象可以执行相同的动作,但要通过他们自己的实现代码来执行
二、对比分析
public VS private VS protected
public 它所修饰的类成员可以允许其他任何类来访问,是公有的
private 只允许同一个类中的成员访问,其他类包括它的子类无法访问,是私有的
protected表示是受保护的,只有当前类的成员与继承该类的类才能访问
字段VS属性
不同点:字段都是private,前加—“_”或者首字母小写,而属性首字母大写
相同点:属性的类型和字段的类型必须一致
构造VS重载VS重写
构造方法:就是构造函数,是对类进行初始化,构造方法与类同名
无返回值,也不需要void ,在new时调用
方法重载:创建同名方法,但是参数的类型或个数不能相同
方法重写:子类可以选择使用override关键字,将父类实现替换为它自己的实现
三、小结
到现在敲过了好多例子,刚开始对面向对象的认识很模糊,关系理不清楚,经过整
理笔记和结合实例去理解分析,以及和同学的交流,我对面向对象有了一个初步的认
识。学习过程中除了对一些基本的概念掌握外,要适当注意一下其中的细节问题,这样
学习将会轻松很多。面向对象的知识在这里只提到了一部分,我将在下一篇博客中进行补充。