2024年Web前端最全Dart语法基础系列八《抽象类》,web前端开发软件

总结

三套“算法宝典”

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

28天读完349页,这份阿里面试通关手册,助我闯进字节跳动

算法刷题LeetCode中文版(为例)

人与人存在很大的不同,我们都拥有各自的目标,在一线城市漂泊的我偶尔也会羡慕在老家踏踏实实开开心心养老的人,但是我深刻知道自己想要的是一年比一年有进步。

最后,我想说的是,无论你现在什么年龄,位于什么城市,拥有什么背景或学历,跟你比较的人永远都是你自己,所以明年的你看看与今年的你是否有差距,不想做咸鱼的人,只能用尽全力去跳跃。祝愿,明年的你会更好!

由于篇幅有限,下篇的面试技术攻克篇只能够展示出部分的面试题,详细完整版以及答案解析,有需要的可以关注

抽象类概述



通常在编程语句中用 abstract 修饰的类是抽象类。在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象;在java中,含有抽象方法的类称为抽象类,同样不能生成对象。

抽象类是不完整的,它只能用作基类。在面向对象方法中,抽象类主要用来进行类型隐藏和充当全局变量的角色。

抽象类通常应用于定义接口。

抽象类特点:

  • 不能实例化

  • 类似接口,可以部分实现

  • 可以继承

  • 类可以利用抽象类完成多继承

抽象类作用一:类的约束实现



这个例子可以验证一下知识点和思想:

  • 抽象类继承

  • implements实现抽象类的约束

  • 多实现去约束

abstract class Person {

bool canSpeak = true;

eat() {}

}

abstract class Musical extends Person {

bool? canSing;

sing() {}

}

abstract class Studnet extends Person {

String? className;

goToSchool() {

}

}

class MusicMan implements Musical, Studnet {

@override

bool? canSing;

@override

bool canSpeak = true;

@override

String? className;

@override

eat() {

// TODO: implement eat

throw UnimplementedError();

}

@override

goToSchool() {

// TODO: implement goToSchool

throw UnimplementedError();

}

@override

sing() {

// TODO: implement sing

throw UnimplementedError();

}

}

那么问题来了,抽象类可以默认实现方法和属性,我想进行代码复用,不需要实现怎么办呢?

看下面的例子。

抽象类作用二:代码复用



我们知道,我们可以通过类的 extends 的继承,来实现复用父类的代码。

abstract class 和 class 类似都可以使用 extends 复用继承。

abstract class Person {

bool canSpeak = true;

eat() {

print(‘吃饭’);

}

}

abstract class Musical extends Person {

结束

一次完整的面试流程就是这样啦,小编综合了腾讯的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析,分享给小伙伴们,有没有需要的小伙伴们都去领取!

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值