摘要:
Song对象有内部的状态(例如歌曲名称和演唱者),这些状态是对象所私有的,即其他对象无法访问一个对象的实例变量。通常会定义一些方法来访问及操作对象的状态,让外部世界得以与之交互。一个对象的外部可见部分被称为其属性(attribute).对Song对象来说,需要找出歌曲的名称和演唱者(这样可以在歌曲播放时显示它们),以及时长(这样可以显示某种进度条)。C++ : 支持多继承,一个类可以有多于一个的直接父类,并继承每者的功能。Java和C# : 支持单继承,一个类只能有一个直接的父类。Ruby:Ruby类只有一个直接的父类,因此Ruby是一门单继承语言。 Ruby类可以从任何数量的mixin(类似 阅读全文
摘要:
继承: 允许创建一个类,作为另一个类的精炼(refinement)和特化(specialization).歌曲 VS 卡拉OK区别:一首卡拉OK歌曲和歌曲没有什么两样,只是没有主唱的音轨,包括对应的一套歌词以及时间信息。定义一个新的类:KaraokeSong“< Song” 表示KaraokeSong是Song的子类(subclass),Song是KaraokeSong的超类(superclass).既KaraokeSong的父类是Song.class KaraokeSong < Song def initialize(name, artist, duration, lyrics) 阅读全文