抽象类的基本介绍|学习笔记

简介: 快速学习抽象类的基本介绍。

开发者学堂课程【Scala 核心编程-基础抽象类的基本介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8979


抽象类的基本介绍

 

内容介绍

一、基本介绍

二、案例演示

 

一、基本介绍

1、在 Scala 中,通过 abstract 关键字标记不能被实例化的类,并且需注意方法不用标记 abstract,只要省掉方法体即可。抽象类可以拥有抽象字段,抽象字段(属性)就是没有初始值的字段

2、快速入门案例:

如何把 Animal 做成抽象类,包含一个抽象的方法 cry(),如下:

abstract class Animal{

varname:String //抽象的字段

varage:Int  //抽象的字段

var color:String="black"

def cry()

看到抽象方法,直接写出 def cry(),不用再后面写方法体也不用标记 abstract,但注意类前要标记为 abstract


二、案例演示

新建 AbstractDemo01文件:

package com. atguigu.chapter0? myextends

object  AbstractDemo 01{

def main(args:Array[String]):Unit={

println(“xxx”)

}

}

//抽象类

abstract class Animal{

var name:String  //抽象的字段

var age:Int  //抽象的字段

var color:String="black"  //普通字段(属性)

def cry ()  //抽象方法,并不需要标记

}

运行后如下图:

image.png

但是要在抽象方法上加上标记,有些时候并不会直接报错:

package com. atguigu.chapter0? myextends

object  AbstractDemo 01{

def main(args:Array[String]):Unit={

println(“xxx”)

}

}

//抽象类

abstract class Animal{

var name:String  //抽象的字段

var age:Int  //抽象的字段

var color:String="black"  //普通字段(属性)

abstract def cry ()  //抽象方法加上标记

此时看到并未体现出错误,但执行后如下图:

image.png

此时报错,所以抽象方法是不需要标记 abstract,这就是对抽象类的基本认识,接下来继续学习抽象类的使用细节。

相关文章
|
2月前
|
编译器 C++
【C++】—— 多态的基本介绍
【C++】—— 多态的基本介绍
|
9月前
|
Java C++
C++进阶之继承(下)
在 C++ 中,友元关系是不继承的,这意味着基类的友元不能访问派生类的私有和保护成员。 如果一个类被声明为另一个类的友元,那么这个友元类可以访问该类的私有和保护成员。然而,这种访问权限不会被继承到派生类中。即使基类的成员函数被声明为子类的友元,也不能访问子类的私有和保护成员。
|
27天前
|
设计模式
抽象类基础知识
抽象类基础知识
10 0
|
2月前
|
存储 安全 Java
【C++进阶】1. 继承
【C++进阶】1. 继承
36 3
|
2月前
|
Java
抽象类和接口的区别(小白版)
抽象类和接口的区别(小白版)
34 0
|
9月前
|
安全 编译器 C++
C++进阶之继承(上)
在C++中,继承是一种面向对象编程的重要概念,它允许一个类(称为子类或派生类)从另一个类(称为父类、基类或超类)那里继承属性和行为。继承是实现代码重用、构建层次结构以及实现多态性的基础。
|
11月前
抽象类的基本概念
抽象类的基本概念
51 0
|
12月前
|
安全 C++
【C++ 进阶】继承
【C++ 进阶】继承
93 0
|
安全 Java 编译器
C++进阶】一、继承(总)
目录 一、继承的概念及定义 1.1 继承概念 1.2 继承定义 1.3 继承基类成员访问方式的变化 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、菱形继承及菱形虚拟继承 7.1 继承的分类 7.2 菱形虚拟继承 7.3 菱形虚拟继承原理 八、继承总结
63 0
C++进阶】一、继承(总)
|
Java 程序员 编译器
面向对象编程的组合、多态、抽象类的基本介绍(一)
面向对象编程的组合、多态、抽象类的基本介绍
面向对象编程的组合、多态、抽象类的基本介绍(一)