165 Scala 继承

简介: 165 Scala 继承

在Scala中扩展类的方式和Java一样都是使用extends关键字

1.类型检查和转换

Scala Java
obj.isInstanceOf[C] obj instanceof C
obj.asInstanceOf[C] ©obj
classOf[C] C.class

2.超类的构造

package cn.itcast.scala
object ClazzDemo {
  def main(args: Array[String]) {
    //val h = new Human
    //println(h.fight)
  }
}
trait Flyable{
  def fly(): Unit ={
    println("I can fly")
  }
  def fight(): String
}
abstract class Animal {
  def run(): Int
  val name: String
}
class Human extends Animal with Flyable{
  val name = "abc"
  //打印几次"ABC"?
  val t1,t2,(a, b, c) = {
    println("ABC")
    (1,2,3)
  }
  println(a)
  println(t1._1)
  //在Scala中重写一个非抽象方法必须用override修饰
  override def fight(): String = {
    "fight with 棒子"
  }
  //在子类中重写超类的抽象方法时,不需要使用override关键字,写了也可以
  def run(): Int = {
    1
  }
}


目录
相关文章
|
Java Scala
Scala快速入门-7-继承
继承类 extends 重写方法时必须用override 只有主构造器可以调用超类的主构造器 重写字段 抽象类、字段
|
分布式计算 Java Scala
scala面向对象编程之继承
scala使用extends关键字来实现继承。可以在子类中定义父类中没有的字段和方法,或者重写父类的方法。 示例1:实现简单继承
152 0
scala面向对象编程之继承
|
Scala 开发者
Scala 的继承注意事项|学习笔记
快速学习 Scala 的继承注意事项。
Scala 的继承注意事项|学习笔记
|
Java Scala 开发者
Scala 的继承快速入门|学习笔记
快速学习 Scala 的继承快速入门。
Scala 的继承快速入门|学习笔记
|
Java Scala
Scala入门到精通——第九节 继承与组合
主要内容 类的继承 构造函数执行顺序 方法重写 匿名类 多态与动态绑定 组合与继承的使用 1 类的继承 下类的代码演示了scala类的继承 //Person类 class Person(name:String,age:Int){ } //Student继承Person类 class Student(name:String,age:Int,var studen
3257 0
|
Java Scala Python
Java,Python,Scala比较(二)类与继承
UML图如下: 完整的Java代码如下: SimpleGeometricObject.java public class SimpleGeometricObject { private String col...
907 0
|
Java Scala 编译器
|
Scala C# Java
SCALA中类的继承
慢慢的,回想起以前学习JAVA和C#当中的的类的特性了。 感觉大同小异吧。。。 package com.hengheng.scala class OOPInScala { } class Student(name: String, age : Int, val major : ...
720 0
|
Java Scala
scala简要: 继承
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
694 0