美文网首页
Scala-9.面向对象-抽象类

Scala-9.面向对象-抽象类

作者: 悠扬前奏 | 来源:发表于2019-07-10 23:33 被阅读0次
  • 使用抽象类:Scala的trait(特质)比抽象类更加灵活,需要再一下情况中使用抽象类:
    • 需要创建一个有构造函数参数的基类(因为trait不允许有构造函数参数)
    • 需要被Java调用
  • 在抽象基类(或trait)里定义属性:
    • 在抽象类(或者trait)中定义的抽象或有实现的属性,可以被所有子类引用
    • 通过声明val和var字段,它们可以使抽象的,也可以是有实现类的。
  • 抽象类的抽象字段:
    • 抽象var字段生成getter和setter方法
    • 抽象val字段生成getter方法
    • 在一个抽象类或者trait中定义一个抽象字段时,scala编译器不会在结果代码中创建一个字段,只会生成该val或者var字段的响应方法
    • 在实现类中为这些字段提供具体值时,必须再将字段定义为val或者var。
  • 在抽象类中定义一个val字段时,可以给一个初始值,然后在子类中覆盖
  • 可以在trait或抽象类中指定var的初始值,然后在具体子类中参考这些字段。
  • 不要使用null,可以用Option/Some/None模型初始化字段

相关文章

  • Scala-9.面向对象-抽象类

    使用抽象类:Scala的trait(特质)比抽象类更加灵活,需要再一下情况中使用抽象类:需要创建一个有构造函数参数...

  • Kotlin入门学习(二)

    新的篇章 面向对象 面向对象-封装 面向对象-继承 面向对象-抽象类和多态 接口 委托和代理 by关键字 委托...

  • 第一天面向对象OOP

    java基础OOP第一天总结_12_03 1,继承2,抽象类3,接口4,多态 面向对象的继承问题 面向对象的抽象类...

  • 第7章 面向对象编程(OOP) 《Kotin 编程思想·实战》

    第7章 面向对象编程(OOP) 7.1 面向对象思想 7.2 类与继承7.2.1 类7.2.1.1 抽象类7.2....

  • Java基础知识整理

    大纲 面向对象 关于Object类 重要关键字 内部类 抽象类与接口 编码 异常 一. 面向对象 1. 关于面向对...

  • Java基础(二)

    面向对象特征;重载和重写;静态绑定和动态绑定;抽象类和接口;包。 面向对象的特征 面向对象的三个基本特征是:封装、...

  • 面向对象总结

    面向对象思想 类与对象 定义类格式: 面向对象的三大特征 封装 继承 多态: 抽象类 接口 内部类 匿名内部类: ...

  • 25.面向对象(抽象类. 多态)

    面向对象(抽象类. 多态) 一. 抽象类 抽象类不能实例化 继承抽象类的子类必须将抽象类中所有的抽象方法重写 抽象...

  • Java面向对象编程——抽象类、接口、多态

    继封装和继承之后,抽象类、接口和多态同样是面向对象编程的重点。 抽象类 抽象类:不是所有的类都是用来描绘对象的,如...

  • Java 面向对象思想回答抽象类和接口的区别

    Java 面向对象思想回答抽象类和接口的区别 抽象类 含有abstract修饰符的class即为抽象类 abstr...

网友评论

      本文标题:Scala-9.面向对象-抽象类

      本文链接:https://www.haomeiwen.com/subject/pbkfkctx.html