面向对象

我们都知道面向对象有三大特性:封装、继承、多态。但是 他们都是为了解决什么样的问题,都有什么体现呢?

封装

封装其实是为了解决程序安全的问题,私有属性公有方法,对于一个函数,一个类,一个框架而言是不能把所有的信息暴露给你去获取或者修改了,这样可能会导致函数、框架的不稳定。

继承

说到继承我很容易就想到了继承遗产。。继承也比较好理解,就是继承父类的变量和函数,拥有父类的特性,自己再实现部分功能。所以他其实就是解决了代码的复用问题。不用为拥有部分相同功能的类去写重复代码。

多态

父类类型的引用指向子类类型的对象,其实我感觉这个多态在某种意义上是要基于继承去实现的,他是为了解决程序的拓展问题的,不用因为新增了某些功能去大量的修改代码。那么什么情况下才算是多态或者说什么才是多态呢?当然是发生重写、重载和我们开头所说的父类类型的引用指向子类类型的对象,这种情况下就被认为是多态。例如咱们常说的面向接口编程。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容