导言
新学一门编程语言,最难以理解的莫过于类了。如果类没用,也就算了,它偏偏很有用,我们必须得掌握,不然怎么好意思说自己会面向对象编程呢?
抽象类(Abstract Class)在面向对象编程中扮演着非常重要的角色,主要用于定义一个或多个抽象方法的模板,供子类继承并实现这些抽象方法。抽象类不能被实例化,它的主要用途包括:
-
定义接口规范:抽象类可以包含抽象方法(没有具体实现的方法),这些方法只有声明没有具体的实现。子类继承抽象类时必须实现这些抽象方法,这样就强制要求子类遵循一定的规范,实现了功能的统一和接口的一致性。
-
提供默认实现:虽然抽象类的主要目的是定义接口,但它也可以提供一些具体实现的方法。这样,子类可以继承这些方法而无需重新实现,既提供了灵活性也保证了代码的重用。
-
设计模式与架构:在软件设计模式和架构中,抽象类经常用于定义框架或基础结构,而具体的实现细节留给子类完成。这有助于分离关注点,提高代码的模块化和可维护性。
-
提升代码的可扩展性:通过定义抽象类和抽象方法,可以轻松地增加新的子类来扩展功能,而无需修改现有的抽象类或其它已有的子类,符合开闭原则(Open-Closed Principle)。
把类搞的低小下,让从没编过程的都能听懂
封装
封装挺好,不用知道里面的复杂,直接拿起来就用。大自然就是很会封装的,每个人都封装得很好。在这里封装主要是把数据封装到一个类里面。如果是私有,就在前面_,这是Dart的搞法。
继承
子类继承了父类所有的特征,父传子,甲天下!
多态
子类可以青出于蓝胜于蓝,搞自己的,表现就是@override,覆盖父类的方法!
class General {
//name和company可以叫字段、变量或者属性,都是一回事,不知道谁搞那么复杂?
String _name = '';
String _company = '';
//构造函数,用来初始化变量,这是类General的构造函数,用于初始化新创建的General对象的属性。
// 构造函数的参数与类的属性名称相同,因此使用了Dart的快捷语法(被称为“命名参数构造”)。
// 当你创建类的实例时,传递给构造函数

最低0.47元/天 解锁文章
1873

被折叠的 条评论
为什么被折叠?



