7.4面向对象

Posted 西瓜的小弟西西瓜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.4面向对象相关的知识,希望对你有一定的参考价值。

1):子类和父类的关系,及内部联系:

  子类是对父类的扩展,在子类中对父类除了构造方法和静态方法和private 字段外的所有方法和字段

  调用构造方法时,子类的构造方法会首先调用父类的构造方法 子类的构造方法中都有super()和this(),都是用来调用构造方法

    this 是当前对象的引用

    super 父类的内存空间

2):开闭原则   (面向对象的最重要原则之一)

   一旦代码写完,不再进行修改,只允许继承扩展。(高内聚,低耦合)

    对扩展是开放,对修改是关闭的 

3):JAVA中只有单继承,但是可以有多重继承

4):向上转型和向下转型

    向上转型:从一个较专用的类型向通用的类型转换,是安全的,比如,子类转成父类   

Animal bog=new Dog();//是安全的,但是可能会发生方法的丢失

    向下转型:与向上转型相反的就是向下转型,它是不安全的,可能需要instanceof操作符协助

Dog animal= new Animal();//不能直接这样转换

    如果发生一下情况,在编译时可以通过,但是运行时不能通过

//Animal 是Dog和Cat类的父类
Animal animal = new Dog();
Cat cat = (Cat)animal;

    解决方法:

Animal animal = new Dog();
if(Cat instranof animal){     //做类型判断 如果animal是Cat类的一个实例返回true
        Cat cat = (Cat)Animal;
}        

 

以上是关于7.4面向对象的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段9——JS中的面向对象编程

js之面向对象

面向对象:继承与派生

7 面向对象和图形界面

面向面试编程代码片段之GC

PHP面向对象之选择工厂和更新工厂