• Scala面向对象的特征


    Scala是一种面向对象的语言,并且运行在JVM中。

    一.类与对象

     

    二.继承

    Scala只允许继承一个父类.并且子类可以继承父类中的所有属性和方法,但是子类不可以直接访问父类中的私有属性和方法。

    在Scala子类继承父类的时候,需要注意以下几点。

    (1) 如果子类要重写一个父类中的非抽象方法,则必须使用override关键字,否则会出现语法错误。

    (2) 如果子类要 重写父类中的抽象方法,则不需要使用override关键字:

    下面,创建一个 Poimt类和个Location 类,并且Location类继承Point类,演示子类 Location 重写父类Point 中的字段。

     

    三.单例对象和伴生对象

    单例对象:

    在Scala中,没有静态方法或静态字段,所以不能直接用类名访问类中的方法和字段, 而是通过创建类的实例对象去访问类中的方法和字段。.Sceala中提供了objeet 这个关键字用来实现单例模式,使用关键字object创建的对象为单例对象。

    创建单例对象的语法格式如下:

    Object objectName

    关键字object主要用于创建单例对象

    objectName为单例对象的名称

     

    在Scala中,在一个源文件中有一个类和一个单例对象,若单例对象名与类名相同。则把这个单例对象称作伴生对象(companion object);这个类则被称为是单例对象的伴生类 (companion elass)。类和伴生对象之间可以相互访问私有的方法和字段。

    伴生对象:

    演示如何操作类中的私有方法和字段

     

    四.特质

    在Scala中,Trait(特质)的功能类似于Java中的接口,但Trait的功能比Java中的接 口强大。例如Trait可以对定义字段和方法进行实现,而接口却不能。Scala 中的Trait可以被类和对象(Objects)使用关键字extends来继承。

    创建特质的语法格式如下:

    trait traitName

    People需要重写方法

    Ctrl+I:重写方法

     

  • 相关阅读:
    用C++写一个生成n个m之内的随机整数的函数
    来自jackson的灵魂一击:@ControllerAdvice就能保证万无一失吗?
    Upwork 新手使用指南——如何快速在Upwork上接单
    关于ETL的两种架构(ETL架构和ELT架构)
    【我不熟悉的css】09-深度选择器deep不好使
    mysql,redis导入导出数据库数据
    `英语` 2022/8/16
    upload-labs第十七十八关
    c语言的三种基本结构——初学者一定要了解哦
    机器学习基础:大数定律与中心极限定理
  • 原文地址:https://blog.csdn.net/m0_57781407/article/details/126062908