zoukankan      html  css  js  c++  java
  • 面向对象的三大特性

    • 继承
    一个类继承另一个类 具有其属性和不小于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.cn
    本文版权归原作者所有,不可商用,转载需要声明出处,否则保留追究法律责任的权利。如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    SQL语句(四)可视化创建和修改表
    (四)系统调用示例
    (三)系统调用
    (二) 中断、异常和系统调用比较
    (一)系统启动流程
    Bellman-Ford算法:POJ No.3169 Layout 差分约束
    kruskal算法:POJ No.3723 Conscription_最小生成树应用_最大权森林
    POJ No.3255 Roadblocks 求次短路径
    【Java】单例模式双重检查锁(double-checked locking)
    【Java多线程】volatile关键字解析(五)
  • 原文地址:https://www.cnblogs.com/felordcn/p/12142608.html
Copyright © 2011-2022 走看看