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子类的继承的更多相关文章

  1. Java中子类能继承父类的私有属性吗?

    前段时间去听老师讲课的时候,老师告诉我子类是可以继承父类所有的属性和方法的.当时我是极其疑惑的,因为之前学校考试时这个考点我记得很清楚:子类只能继承父类的非私有属性和方法.老师给我的解释是这样的--先 ...

  2. Java 继承问题 -- 子类是否继承父类的私有属性

    理解一: 子类会继承父类的所有属性和方法,至于能不能直接访问,那就是访问权限的问题了. 例如:父类有个private String name; 属性.子类会继承下来,但子类访问不了,因为是privat ...

  3. java第五章 子类与继承

    5.1子类与父类 1   java不支持多重继承,即一个子类不可以从多个父类中同时继承,而C++中可以. 人们习惯地称子类与父类的关系式“is—a”的关系 2   再类的声明过程中,通过关键字exte ...

  4. java中继承,子类是否继承父类的构造函数

    java中继承,子类是否继承父类的构造函数 java继承中子类是不会继承父类的构造函数的,只是必须调用(隐式或者显式) 下面来看例子: public class TestExtends { publi ...

  5. @interface __ annotation 子类可以继承到父类上的注解吗--有结论了

    博客分类: Java/J2se   作者:赵磊 博客:http://elf8848.iteye.com 不了解注解基础知识的请先看<JDK 5 Annotation\注解\注释\自定义注解> ...

  6. Java基础知识笔记第五章:子类与继承

    子类与父类 子类 class 子类名 extends 父类名{ ....... } 类的树形结构 子类的继承性 子类和父类在同一包中的继承性 子类继承了父类不是private的成员属性和成员方法   ...

  7. Python父类和子类关系/继承

    #!/usr/bin/env python # -*- coding: utf-8 -*- """ @File:继承_子类和父类的关系.py @E-mail:364942 ...

  8. C++ 继承方式 //语法:class 子类 :继承方式 父类 //继承方式 三种: //1.公共继承 //2.保护继承 //3.私有继承

    1 //继承方式 2 //语法:class 子类 :继承方式 父类 3 //继承方式 三种: 4 //1.公共继承 5 //2.保护继承 6 //3.私有继承 7 8 #include <ios ...

  9. javascript中子类如何继承父类

    参考阮一峰的文章:http://javascript.ruanyifeng.com/oop/inheritance.html#toc4 function Shape() { this.x = 0; t ...

  10. java 子类不能继承父类的static方法

    先来看一段代码 /** * Created by bjchengpeng on 2018/7/19. */ /**运行结果 * woof * woofaa * * woof * Basenjiaa * ...

随机推荐

  1. CodeForces - 1353D Constructing the Array

    CodeForces - 1353D 这道题也可能比较简单,主要是要想到优先队列要怎么使用,这一点如果用递归会写不了 但是因为对优先队列不太熟悉,只有被提示可以用优先队列才想到要怎么用, 还是很重要的 ...

  2. java三次大作业的全面总结

    一:前言 知识点总结: 数据结构:题目涉及到了字典或哈希表用于存储题目信息.试卷信息和学生信息:列表用于存储多个题目.试卷和学生的集合:对象用于封装题目.试卷.学生和答案的具体属性. 字符串解析:题目 ...

  3. pycharm里的jinja2注释问题

    pycharm里html注释是{# #}而不是<!-- -->?   修改方式:如图修改成值None以后,command+/快捷键,html注释的符号就是<!-- 注释内容 --&g ...

  4. 利用 Java 实现组合式解析器

    Ward Cunningham 曾经说过,干净的代码清晰地表达了代码编写者所想要表达的东西,而优美的代码则更进一步,优美的代码看起来就像是专门为了要解决的问题而存在的.在本文中,我们将展示一个组合式解 ...

  5. PHP7.4之编译安装

    虽然之前写过很多编译安装PHP的文章, 但是隔段时间还是会重新安装一些PHP的版本,再次记录一下 1. 下载安装编译工具 yum groupinstall 'Development Tools' 2. ...

  6. vue 的provide 和 inject

    1.功能说明 在开发过程中,在子组件中如何获取父组件或者祖父级的数据.这个我们之前的做法是在子组件中找到父组件实例,然后使用父组件的数据.这样其实不是很自然. 在vue 中提供了 provide 和 ...

  7. windows 上部署 kafka 做测试

    1.下载 需要下载 zookeeper 和kafka 我下载的版本是 2.部署 2.1 部署 zookeeper 2.1.1 新建配置文件 zoo.cfg 内容为 tickTime = 2000 da ...

  8. Vue.js 组件数据交互

    1.前言 本节讲述组件之间如何进行数据交互 2.props属性与非 prop 的属性 父组件通过属性绑定的形式传值给子组件,这种传值分2种 类别 含义 说明 props 子组件本身已经通过props定 ...

  9. 如何TypeScript中相对优雅地实现类的多继承

    首先,在 js 中还没有真正的多继承.但是在实际工作中经常需要抽离通用模块并按需组成新的业务模块,这就对类的多继承有了实际需求. 举个例子,现在我们有个基础类 Animal : class Anima ...

  10. nodejs安装和环境配置

    nodejs安装和环境配置 1.下载安装node.js 官方下载地址: https://nodejs.org/en/ 下载LTS版本(长期稳定版本) 安装可以更改安装路径(我的更改是D:\Progra ...