Dart静态方法、对象操作符和类的继承
- /*
- Dart中的静态成员:
- 1、使用static 关键字来实现类级别的变量和函数
- 2、静态方法不能访问非静态成员,非静态方法可以访问静态成员
- */
- // class Person {
- // static String name = '张三';
- // static void show() {
- // print(name);
- // }
- // }
- // main(){
- // print(Person.name);
- // Person.show();
- // }
- class Person {
- static String name = '张三';
- int age=20;
- static void show() {
- print(name);
- }
- void printInfo(){ /*非静态方法可以访问静态成员以及非静态成员*/
- // print(name); //访问静态属性
- // print(this.age); //访问非静态属性
- show(); //调用静态方法
- }
- static void printUserInfo(){//静态方法
- print(name); //静态属性
- show(); //静态方法
- //print(this.age); //静态方法没法访问非静态的属性
- // this.printInfo(); //静态方法没法访问非静态的方法
- // printInfo();
- }
- }
- main(){
- // print(Person.name);
- // Person.show();
- // Person p=new Person();
- // p.printInfo();
- Person.printUserInfo();
- }
- /*
- Dart中的对象操作符:
- ? 条件运算符 (了解)
- as 类型转换
- is 类型判断
- .. 级联操作 (连缀) (记住)
- */
- class Person {
- String name;
- num age;
- Person(this.name,this.age);
- void printInfo() {
- print("${this.name}---${this.age}");
- }
- }
- main(){
- // Person p;
- // p?.printInfo();
- // Person p=new Person('张三', 20);
- // p?.printInfo();
- // Person p=new Person('张三', 20);
- // if(p is Person){
- // p.name="李四";
- // }
- // p.printInfo();
- // print(p is Object);
- // var p1;
- // p1='';
- // p1=new Person('张三1', 20);
- // // p1.printInfo();
- // (p1 as Person).printInfo();
- // Person p1=new Person('张三1', 20);
- // p1.printInfo();
- // p1.name='张三222';
- // p1.age=40;
- // p1.printInfo();
- Person p1=new Person('张三1', 20);
- p1.printInfo();
- p1..name="李四"
- ..age=30
- ..printInfo();
- }
- /*
- 面向对象的三大特性:封装 、继承、多态
- Dart中的类的继承:
- 1、子类使用extends关键词来继承父类
- 2、子类会继承父类里面可见的属性和方法 但是不会继承构造函数
- 3、子类能复写父类的方法 getter和setter
- */
- class Person {
- String name='张三';
- num age=20;
- void printInfo() {
- print("${this.name}---${this.age}");
- }
- }
- class Web extends Person{
- }
- main(){
- Web w=new Web();
- print(w.name);
- w.printInfo();
- }
- /*
- 面向对象的三大特性:封装 、继承、多态
- Dart中的类的继承:
- 1、子类使用extends关键词来继承父类
- 2、子类会继承父类里面可见的属性和方法 但是不会继承构造函数
- 3、子类能复写父类的方法 getter和setter
- */
- class Person {
- String name;
- num age;
- Person(this.name,this.age);
- void printInfo() {
- print("${this.name}---${this.age}");
- }
- }
- class Web extends Person{
- Web(String name, num age) : super(name, age){
- }
- }
- main(){
- // Person p=new Person('李四',20);
- // p.printInfo();
- // Person p1=new Person('张三',20);
- // p1.printInfo();
- Web w=new Web('张三', 12);
- w.printInfo();
- }
- /*
- 面向对象的三大特性:封装 、继承、多态
- Dart中的类的继承:
- 1、子类使用extends关键词来继承父类
- 2、子类会继承父类里面可见的属性和方法 但是不会继承构造函数
- 3、子类能复写父类的方法 getter和setter
- */
- class Person {
- String name;
- num age;
- Person(this.name,this.age);
- void printInfo() {
- print("${this.name}---${this.age}");
- }
- }
- class Web extends Person{
- String sex;
- Web(String name, num age,String sex) : super(name, age){
- this.sex=sex;
- }
- run(){
- print("${this.name}---${this.age}--${this.sex}");
- }
- }
- main(){
- // Person p=new Person('李四',20);
- // p.printInfo();
- // Person p1=new Person('张三',20);
- // p1.printInfo();
- Web w=new Web('张三', 12,"男");
- w.printInfo();
- w.run();
- }
- /*
- 面向对象的三大特性:封装 、继承、多态
- Dart中的类的继承:
- 1、子类使用extends关键词来继承父类
- 2、子类会继承父类里面可见的属性和方法 但是不会继承构造函数
- 3、子类能复写父类的方法 getter和setter
- */
- class Person {
- String name;
- num age;
- Person(this.name,this.age);
- Person.xxx(this.name,this.age);
- void printInfo() {
- print("${this.name}---${this.age}");
- }
- }
- class Web extends Person{
- String sex;
- Web(String name, num age,String sex) : super.xxx(name, age){
- this.sex=sex;
- }
- run(){
- print("${this.name}---${this.age}--${this.sex}");
- }
- }
- main(){
- // Person p=new Person('李四',20);
- // p.printInfo();
- // Person p1=new Person('张三',20);
- // p1.printInfo();
- Web w=new Web('张三', 12,"男");
- w.printInfo();
- w.run();
- }
- /*
- 面向对象的三大特性:封装 、继承、多态
- Dart中的类的继承:
- 1、子类使用extends关键词来继承父类
- 2、子类会继承父类里面可见的属性和方法 但是不会继承构造函数
- 3、子类能复写父类的方法 getter和setter
- */
- class Person {
- String name;
- num age;
- Person(this.name,this.age);
- void printInfo() {
- print("${this.name}---${this.age}");
- }
- work(){
- print("${this.name}在工作...");
- }
- }
- class Web extends Person{
- Web(String name, num age) : super(name, age);
- run(){
- print('run');
- }
- //覆写父类的方法
- @override //可以写也可以不写 建议在覆写父类方法的时候加上 @override
- void printInfo(){
- print("姓名:${this.name}---年龄:${this.age}");
- }
- @override
- work(){
- print("${this.name}的工作是写代码");
- }
- }
- main(){
- Web w=new Web('李四',20);
- w.printInfo();
- w.work();
- }
- /*
- 面向对象的三大特性:封装 、继承、多态
- Dart中的类的继承:
- 1、子类使用extends关键词来继承父类
- 2、子类会继承父类里面可见的属性和方法 但是不会继承构造函数
- 3、子类能复写父类的方法 getter和setter
- */
- class Person {
- String name;
- num age;
- Person(this.name,this.age);
- void printInfo() {
- print("${this.name}---${this.age}");
- }
- work(){
- print("${this.name}在工作...");
- }
- }
- class Web extends Person{
- Web(String name, num age) : super(name, age);
- run(){
- print('run');
- super.work(); //自类调用父类的方法
- }
- //覆写父类的方法
- @override //可以写也可以不写 建议在覆写父类方法的时候加上 @override
- void printInfo(){
- print("姓名:${this.name}---年龄:${this.age}");
- }
- }
- main(){
- Web w=new Web('李四',20);
- // w.printInfo();
- w.run();
- }
Dart静态方法、对象操作符和类的继承的更多相关文章
- python 静态方法,类方法 ,类的继承
转自: http://cowboy.1988.blog.163.com/blog/static/75105798201091141521583/ 1.关于定义类的一些奇特之处 今天在Python中 ...
- Class的使用,构造方法,实例属性和实例方法,静态属性和静态方法,this和super关键字,类的继承
s6新增了一种定义对象实例的方法,Class(类)这个概念,作为对象的模板.class可以看作只是一个语法糖,通过class关键字,可以定义类.让对象原型的写法更加清晰.更像面向对象编程的语法. 一. ...
- java类的继承
继承就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法(重写)的方式,产生一个新的类型.继承是面向对 象的三个基本特征--封装.继承.多态的其中之一,我们在使用java时编写的每一个类都是 ...
- 游戏编程之Unity常用脚本类的继承关系
前言学习Unity开发引擎的初学者会接触大量的脚本类,而这些类之间的关系往往容易被忽略.本文对Unity引擎开发中的一些常用类及其关系进行了简单的归纳总结. 博文首发地址:http://tieba.b ...
- ES6 class类 静态方法及类的继承
一.class类 ES6之前都是定义函数以及函数的原型对象实现类型, 如果想要实现共享构造函数成员,可以用prototype来共享实现 ES6出现之后,使用class类的概念来实现原型的继承 二,静态 ...
- python 零散记录(七)(下) 新式类 旧式类 多继承 mro 类属性 对象属性
python新式类 旧式类: python2.2之前的类称为旧式类,之后的为新式类.在各自版本中默认声明的类就是各自的新式类或旧式类,但在2.2中声明新式类要手动标明: 这是旧式类为了声明为新式类的方 ...
- python类的继承和多态,获取对象信息
继承 类的继承机制使得子类可以继承父类中定义的方法,拥有父类的财产,比如有一个Animal的类作为父类,它有一个eat方法: class Animal(object): def __init__(se ...
- ES6学习笔记(二):教你玩转类的继承和类的对象
继承 程序中的继承: 子类可以继承父类的一些属性和方法 class Father { //父类 constructor () { } money () { console.log(100) } } c ...
- (转)Java:类与继承
原文地址: http://www.cnblogs.com/dolphin0520/p/3803432.html 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础.抽象.封装.继承.多态这四大 ...
随机推荐
- P1436 棋盘分割[dp]
题目描述 将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的两部分中的任意一块继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘.(每次 ...
- java.lang.RuntimeException: org.springframework.dao.DuplicateKeyException:
java.lang.RuntimeException: org.springframework.dao.DuplicateKeyException: ### Error updating databa ...
- 单片机开发之C语言编程基本规范
为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范.本标准规定了程序设计人员进行程序设计时必须遵循的规范.本规范主要针对单片机编程语言和08编译器而言,包括排版.注释.命名.变量 ...
- python关于字典嵌套字典,列表嵌套字典根据值进行排序
python 对于字典嵌套字典, 列表嵌套字典排序 例:列表嵌套自字典:d = [{"name": '张三', 's': 68}, {'name': '李四', 's': 97}] ...
- 2019 icpc 徐州 解题报告
A.Cat 题库链接 给定区间[l,r],求一个最长子区间,使得区间异或和小于等于s,(结论)偶数和偶数后三个数的异或和等于0 #include <bits/stdc++.h> using ...
- 洛谷 P816 忠诚 题解
每日一题 day28 打卡 Analysis 这道题用线段树维护区间最小值很简单,因为没有修改所以连lazy_tag都不用,但是这道题可以用树状数组维护区间最小值,非常骚气. 线段树代码: #incl ...
- ELK实践
一.ElasticSearch+FileBeat+Kibana搭建平台 在C# 里面运行程序,输出日志(xxx.log 文本文件)到FileBeat配置的路径下面. 平台搭建,参考之前的随笔. Fil ...
- GoCN每日新闻(2019-09-28)
GoCN每日新闻(2019-09-28) 1. 可视化Go程序的调用图 https://truefurby.github.io/go-callvis/2. Go modules编写和发布官方教程 h ...
- selenium定位元素的方法
1.id定位: find_element_by_id() 从上面定位到的搜索框属性中,有个id="kw"的属性,我们可以通过这个id定位到这个搜索框 代码: # coding = ...
- [luogu 5024] 保卫王国
Problem Here Solution 这大概是一篇重复累赘的blog吧. 最小权覆盖集=全集-最大权独立集 强制取或不取,可以通过将权值修改成inf或者-inf 然后就用动态dp的套路就行了 动 ...