学习OOP——“继承”的三个特征之一

电脑杂谈  发布时间:2020-06-06 22:12:44  来源:网络整理

js原型继承和构造继承_soa架构与oop架构的区别与联系_oop继承

“和尚问: 没有和尚只能得到佛法尸体,请直接指导老师. 施云: 子成父亲的业力. ” \ @-@ /

OOP的三个基本特征之一是“继承”. 父类或接口与子类之间存在关系,对谁是父类而哪个子类的判断取决于关键字extends.

对于一个子类,只能有一个父类,并且在父类下可以有多个子类. 子类可以继承父类的方法或属性oop继承oop继承,这必须涉及当前对象和父类对象之间的差异.

这意味着在当前构造方法中调用其他重载构造; super表示在子类构造中调用父构造.

js原型继承和构造继承_oop继承_soa架构与oop架构的区别与联系

this和super必须在当前构造函数的第一句中,否则将报告错误.

尽管子类可以继承父类的方法和属性,但它们不是完全可继承的. 以下三个属于不可继承类别:

(1)私人

(2)构造方法构造器

soa架构与oop架构的区别与联系_js原型继承和构造继承_oop继承

(3)非相同的包子类受保护的类型受保护

顺便说一下修饰符,对四个基本修饰符的访问控制:

可以使用所有类型访问public修饰符;

只能在相同的程序包或不同程序包的子类中访问受保护者;

默认只能在同一程序包中访问;

oop继承_js原型继承和构造继承_soa架构与oop架构的区别与联系

私人只能在同一类别中访问.

父类和子类之间有自动类型转换和强制类型转换

其中,自动类型转换是指父类对子类对象的引用

看一个简单的例子:

水是父类,小明是子类,小明的两个对象是饮食. 当父类引用指向子类对象时,eat不会显示.

soa架构与oop架构的区别与联系_js原型继承和构造继承_oop继承

这是一个向上的转变. 父类的引用可以直接指向子类的对象,但是将丢失由子类单独定义的其他方法. 例如,子类中没有“食用西瓜”的输出.

向下转换是指将子类对象分配给父类引用,然后强行切换回子类,这样子类定义的其他方法就不会丢失.

在这里,我们在向上转换的基础上进行了一些更改. 使用instanceof强制转换可以确保子类方法不会丢失.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-236446-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 佐藤利奈
        佐藤利奈

        2003年军队就已经进驻台湾

      热点图片
      拼命载入中...