• OO面向对象———扩展类与被扩展类


    扩展类与被扩展类

    超类:被扩展类、基类、父类。被final修饰的类不可以做超类。

    子类:扩展类、子类。为了描述自己的独特性为,要重写超类的方法。如果不重写就默认继承了父类的方法。

    方法重载:同一个类中有多个名称相同的方法,但是参数的类型或参数的个数相同。

    方法重写:子类中的方法与超类中的参数列表和名称完全相同。

    注意:重写方法时,子类方法的可见性,可以变大,不可以变小。

    如:超类用protect修饰,则子类用protected,public修饰

    超类用public修饰,则子类用只能用public修饰。

     protected void teach(){
           System.out.println("111");
      }

     

    依赖:在类A中使用了类B,类B是作为类A的方法参数、方法的局部变量、或者静态方法调用。则类A依赖类B。

    Rect类依赖了Graphics类和String类以及ImgerHelper类

    关联:一个类的实例A使用另一个类的实例B,这两个对象之间为关联关系

    单向关联表现为类A当中使用了类B,B作为类A的成员变量

    public final class Person{
       private Student student;
    }

    双向关联

    public final class Person{
       private Student student;
    }
    public final class Student{
       private Person person;
    }

    凡事超类对象出现的地方,都可以用一个子类类型的对象来替换。反之不成立

    //加油机
    public  class Tanker{
       public void setReceiver(Receiver receiver){
           this.receiver = receiver;
      }
       private Receiver receiver;
    }

    参数receiver(受油机)可以用具体的如:fighter、bomber来替代

    继承:扩展一个类,也称为继承一个类。

    继承一个方法,就是子类不重写超类中定义的方法,完全采用超类中定义的逻辑。

     
  • 相关阅读:
    ingress高可用--使用DaemonSet方式部署ingress-nginx
    flask-Migrate模块
    flask 框架 前端和后端请求超时问题
    linux crontab执行python脚本问题
    python 装饰器
    Python 中实现装饰器时使用 @functools.wraps 的理由
    jquery ui dialog 中使用select2 导致select2的input失去焦点的解决方法
    Django之ModelForm组件
    Django之Model操作
    Java环境变量,真的还有必要配吗?
  • 原文地址:https://www.cnblogs.com/xianxiansir/p/12663930.html
Copyright © 2020-2023  润新知