zoukankan      html  css  js  c++  java
  • scala 学习笔记十二 继承

      1、介绍

        继承是面向对象的概念,用于代码的可重用性。可以通过使用extends关键字来实现继承。 为了实现继承,一个类必须扩展到其他类,被扩展类称为超类或父类。扩展的类称为派生类或子类。

        Scala支持各种类型的继承,包括单一,多层次,多重和混合。可以在类中使用单一,多层次和层次结构。多重和混合只能通过使用特征来实现。在这里,通过使用图形表示所有类型的继承

        单一继承

        

        多层继承

        

        多重继承

        

        

      2、例子

      

     class GreatApe(){
        def call ="GreatApe! "
        var energy = 3
        def eat() = {energy += 10; energy}
        def climb(x:Int) = energy -= x
      }
    
      class Bonobo extends GreatApe {
        override def call = "Bonobo "
        energy = 5
        override def eat() = super.eat() * 2
        def run() = "Bonobo runs"
      }
    
      class Chimpanzee extends GreatApe{
        override def call = "Chimpanzee "
        override def eat() = super.eat() * 3
        def jump() = "Chimpanzee jumps"
      }
    
      def main(args: Array[String]): Unit = {
       val obj1 = new GreatApe
        println(obj1.call) //GreatApe!
        println(obj1.energy)//3
        println(obj1.eat)//13
        println("
    ")
    
        val obj2 = new Bonobo
        println(obj2.call)//Bonobo
        println(obj2.energy)//5
        println(obj2.eat)//30
        println("
    ")
    
        val obj3 = new Chimpanzee
        println(obj3.call)
        println(obj3.energy)
        println(obj3.eat)
      }

        

  • 相关阅读:
    力扣 503 :下一个更大元素 II
    力扣 684 :冗余连接
    时间空间复杂度
    并查集
    UE4解决贴花拉伸的简单办法
    《程序员修炼之道Ⅱ》读书简记
    mac中安装支持m1的软件,提示已损坏问题解决
    在idea中构建gradle项目报错Command line is too long
    向上向下取整
    web端开发工具下载地址
  • 原文地址:https://www.cnblogs.com/shaosks/p/9390761.html
Copyright © 2011-2022 走看看