玄而又玄的面向对象

什么是对象


我认为对象可以从两个层次来理解

1.对象是单个实物的抽象

一本书是一个对象,一辆车是一个对象,一个杯子也是一个对象,万物皆可为对象,将实物转化为对象后,实物之间的关系也就成了对象之间的关系,于是我们就可以面向“对象”来编程了

2.对象是一个容器,包含了他的属性和方法

所谓属性就是他的状态,这个人是女生,身高165,体重45kg,胸有36D,方法就是就是他的行为,她会吃饭,会跑步,会学习


面向对象的基本特征


有三个基本特征,封装,继承,多态,其实还可以多加一个抽象


封装和抽象


抽象就是把需要处理的数据和处理这些数据的操作结合在一起,根据功能,用途抽象成不同的数据类型,抽象数据类型都是用“类”这种结构来实现的,每个类中都封装了相关数据和相关操作

封装就是把对象作为一个密闭的容器,你不需要知道里面有什么,每个零件是干什么的,你只需要知道怎么用这个容器就行了


继承


继承是两个类之间的关系,一个类可以获得另一个类的方法和状态,被继承的类叫做父类(也称作基类),继承的类叫子类(也称作派生类)。通过使用继承,我们可以在不同的子类中多次重新使用父类的代码,而子类又可以提供一些父类中没有的特殊行为。

1.子类的构造过程中必须调用其基类的构造方法

2.子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法

3.如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认调用基类的无参数构造方法


这里要多说一句,就是继承嘛,子继父类,子类能继承父类的所有东西,但是子类不能访问父类的private变量


多态


多态指的是程序中同名方法共存的情况,调用者只需使用同一个方法名,系统就会根据不同情况 调用相应的不同方法,实现不同功能。多态又被称为“一个名字,多个方法”


面向对象的五大原则


1.单一职责原则:一个类,最好只做一件事,只有一个引起它的变化

2.开放封闭原则:软件的功能应该是可扩展的,而尽可能的不修改。因为修改程序有可能会对原来的程序造成错误。不能修改,但是可以添加功能,尽可能的在外边添加新的类

3.Liskov替换原则:子类可以替换父类,但是父类不一定能替换子类

4.依赖倒置原则:接口或抽象类不依赖于实现类,实现类依赖于接口或抽象类

5.接口隔离原则:使用多个小的专门的接口,而不要使用一个大的总接口。就是每一个接口都执行一个专门的功能,用什么调什么

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容