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 * ...
随机推荐
- Mobexterm 串口换行错误
问题描述 使用 Mobexterm 连接串口时,在回显中存在换行错误问题,严重影响阅读串口数据. 解决方法 在左侧操作窗口中右击发生 换行错误问题 的窗口,比如我需要右击 COM9 右击后,在下拉列表 ...
- 《花100块做个摸鱼小网站! 》第十篇—响应式布局适配PC端和移动端
️基础链接导航️ 服务器 → ️ 阿里云活动地址 看样例 → 摸鱼小网站地址 学代码 → 源码库地址 一.前言 大家好呀,我是summo,小网站一直有个问题,就是PC端的样式和移动端的样式是两套,并且 ...
- Java方法参数太多怎么办—Part 1—自定义类型
本文由 ImportNew - 王村平 翻译自 dzone.如需转载本文,请先参见文章末尾处的转载要求. 本文是这个系列的第一篇文章,介绍了采用自定义类型处理参数过多的问题.如果你也希望参与类似的系列 ...
- docker 打包镜像过程
1.首先准备需要打成镜像的JAR包 2.编制Dockerfile文件 FROM docker.gf.com.cn/java:openjdk-8u292-arm64 MAINTAINER 8627905 ...
- windbg 调试 c++ std::exception
由于c++ std::exception在windbg里面调用堆栈显示不正确,可以通过加载了系统pdb和软件pdb后,!analyze -v可以分析出来,所有需要配置系统pdb. 1.把exe,pdb ...
- docker创建Tomcat
安装docker 查找tomcat docker search tomcat 下载镜像 docker pull tomcat 查看下载的镜像 docker images 运行Tomcat docker ...
- 对象存储COS-数据处理能力升级!“组合拳”助力存储新时代!
近日腾讯云对象存储(COS)完成了"存储"到"存储+"的升级! 互联网让信息传播的更快,人们仿佛对信息更加渴望,我们身边的产品越来越多,获取信息的类型也丰富多样 ...
- 待遇任务执行器(dy-task-actuator-simple)文档
待遇任务执行器(dy-task-actuator-simple)文档 简介 简称 dtas 吧.这是一个尚在起步但无需太多功能的执行器. 心血来潮,做了一个任务执行器,倒不是一定要重复造轮子,而是没有 ...
- 2024年1月Java项目开发指南18:自定义异常输出
一般情况下,报错信息一大堆,值得注意的只有三个地方: 哪个文件发生了错误 哪一行发生了错误 错误原因是什么 只要知道这三个东西就能快速的定位到错误发生的位置并且根据提示解决. 如果你也喜欢我的这种异常 ...
- 在linu系统安装apache全过程(httpd、apr、apr-util、pcre)以及进行相应配置
1.下载安装包,需要下面3个安装包[root@bes2 apache]# ll总用量 8520-rw-r--r--. 1 root root 1020833 9月 18 17:47 apr-1.5.1 ...