scala 基础九 scala 类的扩展和继承extends override

1.scala 类的继承

package smart.iot

//父类 animal 有三个参数
class animal(var name:String,var age:Int,var eat:String) {

}

//子类 panda 继承父类 animal
class Panda( name:String, age:Int, eat:String,var blackeye:String) extends animal(name,age,eat)
{

}

object load
{
  def main(args: Array[String]): Unit = {
      var panda=new Panda("panpan",2,"竹子","2个黑眼圈");
      println("panda "+"Name"+panda.name+"age:"+panda.age+"eat:"+panda.eat+"blackeye:"+panda.blackeye)
  }

}

2.方法的重写和参数的重写 override

package smart.iot

//父类 animal 有三个参数
class animal(var name:String,var age:Int,var eat:String) {

    val wing:String="啊啊啊";
   def talk()=println("say english");
}

//子类 panda 继承父类 animal
class Panda( name:String, age:Int, eat:String,var blackeye:String) extends animal(name,age,eat)
{
    override val wing:String="熊猫大侠";
    override def talk()=println("讲中文");
}

object load
{
  def main(args: Array[String]): Unit = {
      var panda=new Panda("panpan",2,"竹子","2个黑眼圈");
      println("panda "+"Name"+panda.name+"age:"+panda.age+"eat:"+panda.eat+"blackeye:"+panda.blackeye)
      println(panda.wing)
      panda.talk()
  }

}

resout:panda Namepanpanage:2eat:竹子blackeye:2个黑眼圈熊猫大侠讲中文
时间: 2024-08-02 06:44:13

scala 基础九 scala 类的扩展和继承extends override的相关文章

Scala基础:面向对象——类

类 (class) 类是对象的模板,通过构造类,能够使用new关键字声明一系列同结构的对象. Scala的一个源文件可以包含多个public类. 声明Person类: class Person{   var name : String = _   val age = 10   private[this] val gender = "male" } 说明: name字段被赋值为"_""_"即占位符.表示name被声明为String.但赋值为&quo

scala 基础六 scala Map和元组的操作

1.Map的介绍 Map(映射)是一种可迭代的键值对(key/value)结构.所有的值都可以通过键来获取.Map 中的键都是唯一的.Map 也叫哈希表(Hash tables).Map 有两种类型,可变与不变,区别在于可变对象可以修改它,而不可变对象不可以.默认情况下 Scala 使用不可变 Map.如果你需要使用可变集合,你需要显式的引入 import scala.collection.mutable.Map 类 2.Map 的分类和定义   //不可变Map    var m1=Map("

python开发面向对象基础:接口类&抽象类&多态&多继承

一,接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 开发中容易出现的问题 1 class Alipay: 2 ''' 3 支付宝支付 4 ''' 5 def pay(self,money): 6 print('支付宝支付了%s元'%money) 7 8 class Applepay: 9 ''' 1

spark快速开发之scala基础之3类,对象,特征

类 scala的类定义非常灵活 class test4 class test2{} class test3(x:Int) 定义一个带构造函数的类 class Point (x : Int,y : Int){ def add() : Int = { x1 + y2 } } 通过this来重写构造函数 def this(X1 : Int){ this(X1,1) } def this(X2 : String){ this(0,1) } 除了重写构造函数,还可以当作当前对象的引用. def add(x

scala 基础四 scala 的函数扩展 默认参数,不定长参数,带名参数

默认参数,默认参数就是在函数定义的时候直接给函数的入参进行赋值 package smart.iot class func { } object func { //参数默认值 格式 参数:参数类型="要设置的默认值" def funcadd(str:String="hello scala!") { println(str); } def main(args: Array[String]): Unit = { funcadd() } } 输出:hello scala!

scala 基础三 scala 静态方法的实现

.scala没有静态的修饰符,但object下的成员都是静态的 ,若有同名的class,这其作为它的伴生类.在object中一般可以为伴生类做一些初始化等操作 1 package smart.iot 2 3 4 class ScalaStatic { 5 6 } 7 8 object statictest 9 { 10 def add(x:Int,y:Int):Int={x+y} 11 //以上的函数也可以写成下面的格式,省略掉花括号,返回值是scala自动推断出来的 12 //def add(

Scala学习(1)——Scala基础知识

本文要解决的问题: Spark主要是由Scala语言编写而成的,所以要真正深入了解Spark,必须要熟悉Scala,在此结合阅读<Scala编程>这本书的情况,对Scala语言做一个基本的总结. Scala的优势 (1)简洁 类型推断 函数创建的文法支持 (2)Java互操作性 可重用Java库 可重用Java工具 没有性能惩罚 Scala工作机制 编译成Java字节码 可在任何标准JVM上运行,甚至是一些不规范的JVM上 Scala编译器是Java编译器的作者写的 启动解释器 输入Scala

Scala基础语法 (一)

如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法. Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 我们可以认为 Scala 程序是对象的集合,通过调用彼此的方法来实现消息传递.接下来我们来理解下,类,对象,方法,实例变量的概念: 对象 - 对象有属性和行为.例如:一只狗的状属性有:颜色,名字,行为有:叫.跑.吃等.对象是一个类的实例. 类 - 类是对象的抽象,而对象是类的具体实例. 方法 - 方法

Scala基础07:特质

多重继承的问题 多重继承产生菱形继承问题.解决多重继承可能导致的问题消耗的资源远比多重继承产生的价值高. 特质 Java8中新增一个特性:default method ,可以在interface中实现的方法.Scala特质类似Java 8的interface. Scala类只能继承一个父类,但可以由多个特质拓展而成.Scala不支持多重继承,取而代之的是特质.Trait可以作为工具方法混入到相关类中. Scala使用特质达到类似多重继承的效果.一个类可以扩展自一个或多个特质,一个特质可以被多个类