面向对象的三大特性

举报
码农小胖哥 发表于 2022/03/30 23:44:58 2022/03/30
【摘要】 继承 一个类继承另一个类 具有其属性和不小于protected权限方法 如  创建一个动物类  动物都具有共性   就是年龄 种类 这是所有动物的共性   任何动物都具有的 public class  Animal{   private...

  • 继承
一个类继承另一个类 具有其属性和不小于protected权限方法
如  创建一个动物类  动物都具有共性   就是年龄 种类
这是所有动物的共性   任何动物都具有的
public class  Animal{
  private   int  age;
 private   String  type;
  }

如果  创建 多个动物类 每次都要声明这两个属性  而如果都继承了这个动物类  就不用再显式声明这两个属性   就具有这两种属性   这就降低了代码的重复性  子类也可以有自己特有的方法 跟属性   以实现功能的扩展

public class Fish extends Animal {
    private String  scale;
}
 

如果父类中 只有默认的无参数构造   子类  的构造函数 中可以不写super();
一旦父类中 有参构造     子类必须对父类的有参构造进行显示声明 super(...);
父类一般给子类提供访问其私有属性的方法   或者其他一些public 标识的功能性方法
父类中如果有抽象方法 子类必须对其进行实现而且  其作用域必须不小于原来声明的作用域   子类也可以复写父类的可以访问的方法   比如常见的 改写的  toString 方法    就是 改写所有类的父类 Object的 方法
 
一个接口继承另一个接口 或者一个接口继承多个个接口
java的多接口继承是对 类只能单继承 的一种补充

  • 封装
封装 是隐藏了功能的实现细节   比如 对数据   和基于数据的相关操作   只提供对外调用该功能实现的接口  因为隐藏了实现细节  所以增加了数据的安全性   同时因为对外只展现了功能的实现  所以实现了专业的分工   模块化       降低了耦合度  和易用性 不必理解功能实现的原理  简化了开发    
  • 多态  
相同的事物,调用其相同的方法,参数也相同时,但表现的行为却不同。

多态存在的条件    必须有类的继承关系   必须有重写    父类引用指向 子类对象

此时子类的私有属性和方法 不能使用   此时父类调用 某个被子类改写的方法时    可以使用父类的同名方法  也可以使用子类的同名方法  实现的结果 可能是不同的 这就表现出了多态  多态在开发z


文章来源: felord.blog.csdn.net,作者:码农小胖哥,版权归原作者所有,如需转载,请联系作者。

原文链接:felord.blog.csdn.net/article/details/52946834

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。