Dart学习记录(一)——对象
2024-09-07 18:34:06
1. 静态成员、方法
1.1 static 声明
1.2 静态、非静态方法可访问静态成员、调用方法;静态方法不可访问静态成员、调用方法;
1.3 静态成员、方法,属于类的 ,不用实例化对象就可使用,不可使用super、this
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(); //静态方法
}
} main() {
print(Person.name); // 静态-不用实例化对象
Person.show(); Person p=new Person();静态-new对象
p.printInfo(); Person.printUserInfo();
}
2. 对象操作符
as 类型转换
is 类型判断
.. 级联操作 (连缀)
class Person {
String name;
num age;
Person(this.name, this.age);
void printInfo() {
print("${this.name}---${this.age}");
}
}
main() { /****** is ******/
Person p=new Person('张三', 20);
if(p is Person){
p.name="李四";
}
p.printInfo(); /****** as ******/
var p1;
p1='';
p1=new Person('张三1', 20);
(p1 as Person).printInfo(); /****** ... ******/
Person p1 = new Person('张三1', 20);
p1.printInfo();
p1
..name = "李四"
..age = 30
..printInfo();// 修改属性、调用方法
}
2. 继承
1. 简单继承:extends
class Person {
String name='张三';
num age=20;
void printInfo() {
print("${this.name}---${this.age}");
}
}
class Web extends Person{}
2. super
: super(name, age) 默认值
class Person {
String name;
num age;
Person(this.name,this.age);
void printInfo() {
print("${this.name}---${this.age}");
}
}
// 最新版本的dart中需要初始化不可为null的实例字段,如果不初始化的话需要在属性前面加上late class Web extends Person{
late String sex;
Web(String name, num age,String sex) : super(name, age){
this.sex=sex;
}
run(){
print("${this.name}---${this.age}--${this.sex}");
} }
3. 重写父类方法 @override
class Web extends Person{
Web(String name, num age) : super(name, age); run(){
print('run');
} @override
work(){
print("${this.name}的工作是写代码");
} }
4. 子类调用父类的方法 super.xxx
最新文章
- Spring4 学习笔记
- Codeforce Round #217 Div2
- C/C++大数库简介
- 更改VS的运行主窗体
- Android实例-路径信息及文件和文件夹的操作(XE8+小米2)
- json学习初体验--第三者jar包实现bean、List、map创json格式
- Jquery - UI - Dialog(转)
- POJ1613 147/思维题
- 【Unity优化】构建一个拒绝GC的List
- 20175208 张家华 MyCP
- WEUI滚动加载
- rabbitMQ的安装和创建用户
- SpringMVC RestTemplate的几种请求调用
- IO 复习字节流字符流拷贝文件
- MVC输出字符串常用四个方式
- MySQL 第三篇:表操作
- java String详解
- 20155226 2016-2017-2 《Java程序设计》第2周学习总结
- Kafka集群无法外网访问问题解决攻略
- python 2/3 joblib.dump() 和 joblib.load()