首页 > 代码库 > 面向对象基础
面向对象基础
很久很久就开始了面向对象的概念啦,但是一直也不懂,今天把这些基本的概念梳理一下,希望比以前强点。
对象和类:
对象是一个包含的实体,是一组可以识别的特性和行为来标识。也就是一切的事物都可以是对象的。类就是对象的抽象,具有相同的属性和功能的对象的抽象的集合。其中类的首字母需要大写。
实例化:
实例化就是给一个对象赋值,比如: Cat cat = new Cat() 也就是将Cat实例化。
构造方法:
构造方法,又叫构造函数,就是就是对类的初始化。构造方法和类同名,没有返回值,在new的时候调用。也就是说在类创建的时候,就开始调用构造方法了。 上面例子中得new Cat()中得Cat 就是构造方法。
方法重载:
方法重载,就是提供创建同名的多个方法的能力,但这些方法需要使用不同的参数类型,俩个方法必须要方法名相同,但参数类型或个数必须要有所不同。如 public Cat() 括号里面就是参数类型,也就是方法重载。
方法get和方法set的区别:get表示外界调用可以得到,而set表示外界可以给内部的属性赋值。
访问权限:
public、private和protect、internal的区别:public表示类成员可以允许访问,也就是公有的,private是私有的,不可以访问的。protect是成员访问的修饰符,受保护成员在他的类中可访问并且可由派生类访问。Internal关键字是类型和类型成员的访问修饰符,只在同一程序集的文件中,内部类型成员才可以访问的。
这个例子很形象的告诉了我们他们的区别。
继承:
继承的格式为“子类 : 父类” 例如:Cat : Animal
特点:1 子类拥有父类非private的属性和功能
2 子类具有自己的属性和功能,也就是子类可以扩展父类没有的功能和方法
3 子类还可以以自己的方式实现父类的功能
4 当俩个类之间具备 is a 的关系的时候,就可以考虑用继承啦,继承是一种类与类之间的强耦合的关系。
继承的优点:继承使得所有的子类公共的部分都放在父类,代码共享,避免重复,同时修改容易。
子类构造方法需要调用父类同样参数类型的构造方法,用base关键字代表父类。例如: public Cat(): base()。
多态:
多态表示不同的对象可以执行相同的动作,但是要通过他们自己的实现代码来执行。
特点:1 子类以父类的身份出现
2 子类在工作时以自己的方式来实现
3 子类以父类的身份出现的时候,子类特有的属性和方法不可以同时使用
4 父类必须将该成员声明为虚拟的,通过添加virtual关键字来实现。
5 子类还可以选择使用override关键字,将父类实现替换为他自己的实现,这就是方法重写override。
面向对象,刚刚起航。。。。。。
面向对象基础