继承和重写,封装

                                      继承

当两个对象特征和行为完全相同的时候,我们采用类创建不同的对象即可。

但是如果2个对象很相似但是不完全相同,这个时候,我们可以采用继承的方式优化类的定义。

一般相似的两个类,一定会有一个从属关系。

例如:动物类    有性别  能吃饭,能睡觉,能行走。

猫类    有性别 命的条数 能吃饭,能睡觉,能行走,能卖萌

猫 is a 动物,猫是一个动物,但是不能反过来说 动物是个猫。(这里后续会引入介绍向上转型,和向下转型的定义)比较模糊的比较抽象往往是父类,比较具体的往往是子类。

父类也叫超类、基类、superclass。

子类是通过扩展父类延伸(派生)出来的,子类也叫派生类

 关于继承:

    子类可以在父类的基础上增加新的属性和方法,子类还可以重写(override)父类的方法。

子类能从父类那里继承什么呢?

答:继承了所有非private的属性和方法。

    本质上,私有的属性和方法也继承了,只不过不能直接访问。

父类的构造方法是继承不了的!为什么呢?

     因为构造方的特点是:方法名必须与类名相同。但是你可以调用父类的构造方法。

 调用父类的构造方法使用super(),super(参数列表)

                                  重写

何为重写?为什么要重写?

重写字面意思就是重新写,就像你上学时写作业写错了一句话,然后重新写一样。

当子类的需求,父类无法完全满足或者父类的方法对于子类不够满意,这个时候,你可以对继承过来的方法进行重写,进而满足对于子类的需求,进而对代码进行你想要的实现的效果。

                                       封装

封装: 隐藏内部细节,对外提供访问的接口

* (广义的接口,这里的接口指的是提供访问的方式)。

* 封装包含以下几个维度:

* 1、对属性的封装------setter和getter

* 具体做法,把属性私有化 使用private修饰

* 提供setter和getter方法

* 对属性封装,能确保属性的安全性。不容易出现脏数据

* 2、对行为(方法)的封装

* 对具体功能实现的封装。

* 隐藏实现细节,对外提供调用方式。

* 具体做法,在类中定义一个public修饰方法

* 并且实现功能,使用的时候,通过对象名.方法就完成了功能的调用

* 3、对类的封装

* 把属性和行为封装到类里。

* 使用的时候,创建对象,使用具体的功能。

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

相关阅读更多精彩内容

友情链接更多精彩内容