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

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

开发者学堂课程【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,这就是对抽象类的基本认识,接下来继续学习抽象类的使用细节。

相关文章
|
6月前
|
编译器 C++
【C++】—— 多态的基本介绍
【C++】—— 多态的基本介绍
【面试题精讲】接口和抽象类有什么共同点和区别?
【面试题精讲】接口和抽象类有什么共同点和区别?
|
Java C++
C++进阶之继承(下)
在 C++ 中,友元关系是不继承的,这意味着基类的友元不能访问派生类的私有和保护成员。 如果一个类被声明为另一个类的友元,那么这个友元类可以访问该类的私有和保护成员。然而,这种访问权限不会被继承到派生类中。即使基类的成员函数被声明为子类的友元,也不能访问子类的私有和保护成员。
|
3月前
|
Java
抽象类的基本知识
抽象类的基本认识,抽象类
|
5月前
|
设计模式 Java
JavaSE 面向对象程序设计进阶 抽象类和接口 2024年详解
JavaSE 面向对象程序设计进阶 抽象类和接口 2024年详解
36 0
|
5月前
|
Java
Java编程不再难:一文看懂抽象类与接口的区别和联系!
【6月更文挑战第17天】在Java OOP中,抽象类与接口助你构建复杂应用。以图书管理系统为例,抽象类`Book`作为基类提供共享属性和方法,不直接实例化。接口如`HasChapters`和`HasIssues`定义特殊行为。抽象类支持部分实现,单继承,适合共享行为;接口仅含常量和抽象方法,多实现,强调行为规范。通过继承和实现,实现代码复用和系统扩展性。理解两者异同,是提升Java编程能力的关键。
44 0
|
5月前
|
设计模式
抽象类基础知识
抽象类基础知识
40 0
|
6月前
|
存储 安全 Java
【C++进阶】1. 继承
【C++进阶】1. 继承
49 3
|
6月前
|
Java
抽象类和接口的区别(小白版)
抽象类和接口的区别(小白版)
65 0
下一篇
无影云桌面