码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象--OO--object-oriented

时间:2019-10-07 09:23:01      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:过程   override   修饰符   图片   虚方法   ide   封装   简单   类的方法   

如何把大象装冰箱?

面向过程:打开冰箱门---把大象装进去---关上冰箱门

面向对象:

1.大象:进入冰箱、离开冰箱

2.冰箱:开门、关门

3.人:检测1、检测2

面向对象三大特性:封装、继承、多态

封装:数据安全;内部修改保持稳定;提供重用性;分工合作,职责分明;方便构建大型复杂的系统。

继承:去掉重复代码;可以实现多态;侵入性很强的类关系。

多态:相同的变量、相同的操作,但是不同的实现

   方法的重载  接口&实现  抽象类&实现  继承

第4特性:抽象

抽象方法必须放在抽象类中(抽象类中可以有普通属性方法),不必写方法体,在子类中必须用override重写。

接口:没有任何具体实现,成员不能写访问修饰符,默认public,包含方法、属性、事件、索引器。

抽象类和接口自身都不能实例化,可以声明然后用实现类(子类)构造。

如何选择接口和抽象类

接口:纯粹的约束;多继承更灵活;表示can do(能做什么);

抽象类:父类+约束;单继承;表示 is a(是什么);

子类都一样的放在父类;子类都有但不一样,抽象一下;子类有的有、有的没有,用接口。

接口用的更多,因为接口更简单灵活,除非有些共有的需要继承。

虚方法

public virtual void vMethod() { }

People p = new Child();

p.vMethod(); //只有当子类中使用override关键字重写该虚方法时,才会调用子类的方法

密封

使用sealed+override关键字,可以使子类的子类不能再重写父类的虚方法或抽象方法。

构造函数

子类的构造函数被调用时,会默认先调用父类的构造函数

如果父类的构造函数被重载了,在子类中必须显示调用父类的构造函数

技术图片

面向对象--OO--object-oriented

标签:过程   override   修饰符   图片   虚方法   ide   封装   简单   类的方法   

原文地址:https://www.cnblogs.com/1016391912pm/p/11629292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!