dart子类的继承
1 Dart中类的继承
1.子类使用extends关键字来继承父类
2.子类会继承父类里面可见的属性和方法,但是不会继承构造函数
3. 子类能够复写父类的方法 getter和setter方法
2Dart Web类继承Person这个类
class Person {
String name = '张三';
int age = 19;
void getInfo() {
//推荐使用这样的写法
print("${this.name}====${this.age}");
}
}
// Web这个类继承父类Person;
// 可见属性和方法是指 父类公开的属性和方法
class Web extends Person {}
void main() {
Person w = new Web();
print(w.name);//输出张三
}
2 Dart中 super关键字的使用
class Person {
String name;
int age;
Person(this.name, this.age);
void getInfo() {
//推荐使用这样的写法
print("${this.name}====${this.age}");
}
}
// Web这个类继承父类Person;
// 可见属性和方法是指 父类公开的属性和方法
class Web extends Person {
// Web(String name, int age) 表示Web类的构造函数
// : super(name, age) 在实例之前,给内部初始化数值
Web(String name, int age) : super(name, age);
}
void main() {
Web w = new Web('张三', 23);
w.getInfo(); //张三====23
}
3 Dart 子类自己的属性和方法
class Person {
String name;
int age;
Person(this.name, this.age);
void getInfo() {
print("${this.name}====${this.age}");
}
}
// Web这个类继承父类Person;
// 可见属性和方法是指 父类公开的属性和方法
class Web extends Person {
// Web(String name, int age) 表示Web类的构造函数
// : super(name, age) 在实例之前,给内部初始化数值
String sex;
Web(String name, int age, String sex) : super(name, age) {
this.sex = sex;
}
// 子类自己的方法
run() {
print("${this.name}====${this.age}====${this.sex}");
}
}
void main() {
Web w = new Web('张三', 23, '男');
// 如果子类有自己的方法,就调用子类的方法;如果没有就去找父类的方法
w.run(); //张三====23
}
4 Dart 命名构造函数传递参数
class Person {
String name;
int age;
Person(this.name, this.age);
// 定义了一个命名构造函数
Person.xxxx(this.name, this.age);
void getInfo() {
print("${this.name}====${this.age}");
}
}
// Web这个类继承父类Person;
// 可见属性和方法是指 父类公开的属性和方法
class Web extends Person {
String sex;
// super.xxxx(name, age)命名构造函数传递参数哈~~~
//给默构造函数传递参数,Web(String name, int age, String sex)
//super.xxxx(name, age) 调用父类自定义构造函数
Web(String name, int age, String sex) : super.xxxx(name, age) {
this.sex = sex;
}
// 子类自己的方法
run() {
print("${this.name}====${this.age}====${this.sex}");
}
}
void main() {
Web w = new Web('张三', 23, '男');
// 如果子类有自己的方法,就调用子类的方法;如果没有就去找父类的方法
w.run(); //张三====23
}
4 Dart 重写父类方法
class Person {
String name;
int age;
Person(this.name, this.age);
void getInfo() {
//推荐使用这样的写法
print("${this.name}====${this.age}");
}
}
// Web这个类继承父类Person;
// 可见属性和方法是指 父类公开的属性和方法
class Web extends Person {
//给默构造函数传递参数,Web(String name, int age, String sex)
//super(name, age) 调用父类默认构造函数
Web(String name, int age) : super(name, age);
// 覆写父类方法 通常要加这个@override
@override
getInfo() {
print('覆写父类方法==>${this.name}====${this.age}');
}
}
void main() {
Web w = new Web('张三', 23);
w.getInfo(); //覆写父类方法==>张三====23
}
dart子类的继承的更多相关文章
- Java中子类能继承父类的私有属性吗?
前段时间去听老师讲课的时候,老师告诉我子类是可以继承父类所有的属性和方法的.当时我是极其疑惑的,因为之前学校考试时这个考点我记得很清楚:子类只能继承父类的非私有属性和方法.老师给我的解释是这样的--先 ...
- Java 继承问题 -- 子类是否继承父类的私有属性
理解一: 子类会继承父类的所有属性和方法,至于能不能直接访问,那就是访问权限的问题了. 例如:父类有个private String name; 属性.子类会继承下来,但子类访问不了,因为是privat ...
- java第五章 子类与继承
5.1子类与父类 1 java不支持多重继承,即一个子类不可以从多个父类中同时继承,而C++中可以. 人们习惯地称子类与父类的关系式“is—a”的关系 2 再类的声明过程中,通过关键字exte ...
- java中继承,子类是否继承父类的构造函数
java中继承,子类是否继承父类的构造函数 java继承中子类是不会继承父类的构造函数的,只是必须调用(隐式或者显式) 下面来看例子: public class TestExtends { publi ...
- @interface __ annotation 子类可以继承到父类上的注解吗--有结论了
博客分类: Java/J2se 作者:赵磊 博客:http://elf8848.iteye.com 不了解注解基础知识的请先看<JDK 5 Annotation\注解\注释\自定义注解> ...
- Java基础知识笔记第五章:子类与继承
子类与父类 子类 class 子类名 extends 父类名{ ....... } 类的树形结构 子类的继承性 子类和父类在同一包中的继承性 子类继承了父类不是private的成员属性和成员方法 ...
- Python父类和子类关系/继承
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @File:继承_子类和父类的关系.py @E-mail:364942 ...
- C++ 继承方式 //语法:class 子类 :继承方式 父类 //继承方式 三种: //1.公共继承 //2.保护继承 //3.私有继承
1 //继承方式 2 //语法:class 子类 :继承方式 父类 3 //继承方式 三种: 4 //1.公共继承 5 //2.保护继承 6 //3.私有继承 7 8 #include <ios ...
- javascript中子类如何继承父类
参考阮一峰的文章:http://javascript.ruanyifeng.com/oop/inheritance.html#toc4 function Shape() { this.x = 0; t ...
- java 子类不能继承父类的static方法
先来看一段代码 /** * Created by bjchengpeng on 2018/7/19. */ /**运行结果 * woof * woofaa * * woof * Basenjiaa * ...
随机推荐
- 一款绘制3D架构图的在线神器:iCraft Editor
在软件开发的世界里,架构图是系统设计的蓝图,它们不仅帮助团队理解系统的整体结构,还能提升沟通效率,确保项目的顺利推进.然而,绘制一张清晰.直观的架构图,往往需要大量时间和专业工具.面对繁琐的操作和复杂 ...
- 在matlab中使用遗传算法执行最优化
遗传算法是一种通用的最优化方法,具体原理可以看:遗传算法详解与实验.下面记录在Matlab中如何使用遗传算法来做优化. 用法 调用方式如下: 1 x = ga(fun,nvars) 2 x = ga( ...
- K均值聚类和代码实现
K均值聚类是一种无监督学习分类算法. 介绍 对于$n$个$m$维特征的样本,K均值聚类是求解最优化问题: $\displaystyle C^*=\text{arg}\min\limits_{C}\su ...
- Mybatis【7】-- Mybatis如何知道增删改是否成功执行?
代码直接放在Github仓库[https://github.com/Damaer/Mybatis-Learning/tree/master/mybatis-05-CURD ] 需要声明的是:此Myba ...
- windows下fopen,fclose断电数据丢失解决办法
#include <io.h> //在fclose之前调用fflush和_commit,可以有效防止断电数据丢失 fflush(file); _commit(fileno(file)); ...
- docker启动所有容器命令
启动所有容器 docker start $(docker ps -a | awk '{ print $1}' | tail -n +2) 关闭所有容器 docker stop $(docker ps ...
- 关于 Span 的一切:探索新的 .NET 明星: 1 Span<T> 是什么?
关于 Span 的一切:探索新的 .NET 明星 https://docs.microsoft.com/en-us/archive/msdn-magazine/2018/january/csharp- ...
- arch 输入法
输入法配置 输入法采用fcitx + Sogou的组合,安装需要的包: yay -S fcitx fcitx-im fcitx-configtool fcitx-sogoupinyin 然后写一个fc ...
- mysql转换类型、类型转换、查询结果类型转换
一.问题来源 数据库一张表的主键id设为了自增,那就是int型的,但是其他表的关联字段又设置成了字符串! 而且已经开发了很久才发现问题,既然出现了问题肯定需要解决 如图 很明显id是不一样的,花了点时 ...
- Qt开源作品20-PNG图片警告去除工具
一.前言 在新版的Qt5中,我们之前在Qt4中使用的png图片,到了这里经常会报一个警告,libpng warning: iCCP: known incorrect sRGB profile,尽管这种 ...