时间:2021-05-22
在日常生活中,我们对一切对象的分类都是有一定层次的.我们知道所有的猫都是哺乳动物,而所有的哺乳动物又都是动物.小型的类从更大的
类中继承它们的属性.如果一切的哺乳动物要呼吸,那么猫也要呼吸.
在Ruby里,我们可以这样表述这一概念:
ruby>classMammal
|defbreathe
|print"inhaleandexhale\n"
|end
|end
nil
ruby>classCat<Mammal
|defspeak
|print"Meow\n"
|end
|end
nil
虽然我们并未指明一只猫要怎样呼吸,但因为Cat是定义为Mammal的子类的(在OO术语里,较小的类叫子类,相比较大的类称父类),每一只猫都将继承来自于Mammal类的行为.因此从程序员的角度出发,猫天生就拥有呼吸这一能力;当我们加上speak方法后,我们的猫就能呼吸,也可以发声了.
ruby>tama=Cat.new
#<Cat:0xbd80e8>
ruby>tama.breathe
inhaleandexhale
nil
ruby>tama.speak
Meow
nil
也会遇到这样的情况:父类的某些属性不可以被某一特定的子类继承.虽然一般鸟类都会飞,但企鹅是鸟类中不会飞的一个子类.
ruby>classBird
|defpreen
|print"Iamcleaningmyfeathers."
|end
|deffly
|print"Iamflying."
|end
|end
nil
ruby>classPenguin<Bird
|deffly
|fail"Sorry.I'dratherswim."
|end
|end
nil
抛开脑尽力疲地为每一个新类定义属性,我们只需要新增或重定义子类和父类之间的区别.继承的这一用法有时也叫做特点编程(differentialprogramming).这是面向对象编程的又一好处.
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
JS继承JavaScript中没有类的概念,与类相关的继承的概念更是无从谈起,但是我们可以通过特殊的语法来模拟面向对象语言中的继承。在JS中模拟继承有多种方式,
前言继承是OOP设计中的重要概念。在C++语言中,派生类继承基类有三种继承方式:私有继承(private)、保护继承(protected)和公有继承(publi
继承是OO语言中的一个最为人津津乐道的概念。许多OO语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。如其所述,由
“继承”是面向对象编程里面经常提及到的概念,它的目的是实现代码复用。JavaScript并没有“类”的概念,那么,它如何实现继承呢?(ES6有关键字class和
写在前面继承的简介继承”是JavaScript面向对象设计的重要一环,愿你认真读完本文,吃透继承的概念。继承的核心1.继承方式一:原型链1.1介绍原型链是实现继