`
凌川__
  • 浏览: 83271 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

6.2 增强父类方法

阅读更多

如果我们只是想增强父类的方法,而不是完全地替代它,就可以用关键字super指明。看程序  E6.2-1.rb :Person类的talk方法只是报告姓名。 Student类的talk方法用super来调用Person类的talk方法,报告姓名;随后又加上了一条语句,来表明身份。

ruby 代码
  1. #E6.2-1.rb   
  2. class Person     
  3.    def talk(name)   
  4.     print "my name is #{name}."  
  5.   end    
  6. end  
  7.   
  8. class Student < Person     
  9.   def talk(name)   
  10.     super  
  11.     print "and I'm a student.\n"  
  12.   end     
  13. end  
  14.   
  15. aPerson=Person.new  
  16. aPerson.talk("kaichuan")  # => my name is kaichuan.   
  17. print "\n\n"  
  18.   
  19. aStudent=Student.new  
  20. aStudent.talk("kaichuan")  # => my name is kaichuan.and I'm a student.  

 

完整阅读,请看我写的 Ruby语言中文教程all in one    
 

分享到:
评论

相关推荐

    3sem-6.2-任务

    3. **继承**:继承允许一个类(子类或派生类)从另一个类(基类或父类)继承属性和行为。这种机制使得代码重用和扩展变得简单。 4. **多态性**:多态性允许不同类的对象对同一消息做出不同的响应,提供了灵活性。...

    java-polymorphism.zip_class A

    方法的重写则是子类对父类已有的非final和非private方法进行重新定义。子类可以提供自己的实现,或者优化父类的方法。如前面`Animal`和`Dog`的例子所示,`Dog`类重写了`Animal`的`sound()`方法,以符合`Dog`的行为。...

    V20-Java笔记整理-重要概念和常见陷阱梳理.docx

    - **Super**:引用父类的一个实例,可以调用父类的属性和方法。 **5.3 抽象类与接口** - **抽象类**:不能实例化的类,包含抽象方法和具体方法。 - **接口**:一组抽象方法的集合,不包含具体的实现。 **5.4 方法...

    java面试题(带答案)

    - **覆盖(Overriding)**:子类重写父类的方法,必须具有相同的方法名、参数列表和返回类型。 **6.7 构造函数** - **构造函数**:用于初始化对象状态的方法。 - **构造函数重载**:一个类可以有多个构造函数,每个...

    java笔记 java笔记

    - **父类与子类的关系**:子类继承父类的属性和方法,并可添加新的方法或覆盖已有的方法。 - **构造对象的顺序**:首先构造父类对象,然后构造子类对象。 ##### 7.3 多态 多态允许子类对象被当作父类对象来处理,...

    Java Annotation手册

    例如,使用@Override注解来确保方法是重写父类的方法。 二、注解处理器 2.1 注解处理器API Java提供了一套注解处理器API(javax.annotation.processing),允许开发者编写自己的注解处理器。处理器会在编译期间运行...

    Java开发技术大全 电子版

    4.5.2使用super调用父类的构造方法157 4.6继承的内部处理158 4.7多态的基本概念159 4.8重载159 4.8.1普通方法的重载160 4.8.2构造方法的重载161 4.8.3重载的解析163 4.8.4重载与覆盖的区别165 4.9运行时多态...

    软件开发面向对象的基础知识

    - **继承**:继承允许创建一个新的类(子类),它可以从现有的类(父类)继承属性和方法,从而减少了代码冗余,增强了代码的复用性。 - **多态**:多态是指同一种行为可以表现出多种形态的能力。在面向对象编程中,...

    JavaWeb应用开发原理与技术第6章.ppt

    继承允许子类从父类继承属性和行为,多态则增强了代码的灵活性和可扩展性。包是组织类的一种方式,类路径则是运行时查找类的路径。 最后,6.3章节介绍了Java的I/O操作,这是处理输入和输出的关键技术。File类提供了...

    java 教程txt

    - **定义**: 允许子类重写父类的方法,以实现不同的行为。 - **实现**: 通过接口和抽象类实现。 - **优点**: 提高代码的灵活性和扩展性。 #### 二、对象创建与管理 - **2.1 构造器**: 用于初始化新创建的对象。 - ...

    Java领域基础部分JavaSE笔记

    ##### 6.2 成员方法 - **定义**:类中定义的方法称为成员方法。 - **调用方式**:通过对象调用方法。 ##### 6.3 成员方法传参机制 - **基本数据类型**:传递的是值的副本。 - **引用数据类型**:传递的是引用,即...

    编码规范化插件checkStyle

    ##### 6.2 配置方法 - **设置全局配置**:在Eclipse的首选项中配置Checkstyle。 - **项目级配置**:为特定项目配置Checkstyle规则。 ##### 6.3 使用 - **运行检查**:在Eclipse中选择要检查的文件或项目,然后...

    JAVA讲义

    3.3 多态:多态性是面向对象的三大特性之一,允许子类对象替换父类对象,增强了程序的灵活性和可扩展性。 四、输入/输出流 4.1 文件操作:Java提供了File类来处理文件的创建、删除、重命名等操作,以及...

    阿里编码规范

    - 当方法覆盖父类的方法时,使用`@Override`注解,以提醒开发者注意。 **6.2 异常处理** - 捕获异常后,不应直接忽略,需要妥善处理或向上抛出。 **6.3 静态成员** - 如果一个方法不依赖于实例状态,推荐使用静态...

    Programming C#

    在C#中,多态可以通过方法重写和接口实现来实现,允许子类以自己的方式响应父类的方法调用,增强了代码的灵活性和扩展性。 #### 5.4 抽象类 抽象类是一种不能被实例化的类,它通常包含抽象方法,这些方法没有实现...

    java training

    2.3 多态:多态允许不同的对象对同一消息作出不同的响应,增强了程序的灵活性。 三、控制流与异常处理 3.1 控制流:学习if语句、switch语句、for循环、while循环和do-while循环,以及如何使用break和continue进行...

    c#f教程

    - **继承**:子类可以从父类继承属性和方法,减少代码冗余,提高复用性。 - **多态**:允许使用一个接口表示多种类型的行为,提高代码的灵活性和可扩展性。 **10.1 类的声明与10.2 类的成员** - **类**:是面向...

    java学习笔记 初学者必读

    7.2.2. 父类(SuperClass)和 子类(SubClass)的关系 7-17 7.2.3. 系统构造一个对象的顺序 7-17 7.3. 多态(polymorphism) 7-18 7.3.1. 方法的覆盖(overridding) 7-18 7.3.2. 多态的分类 7-18 7.3.3. 运行时多态的...

Global site tag (gtag.js) - Google Analytics