九、Dart的类
Dart属于OOP语言,因此满足OOP三大特性
Dart所有东西都是对象,所有对象都继承自Object类
Dart是一门使用类和单继承的面向对象语言,所有对象都是类的实例,并且所有的类都是Object的子类
一个类通常由属性和方法组成
定义一个类,并创建该类的实例,访问属性和方法
class Person{
String name = '张三';
int age = 23;
void getInfo(){
print("${this.name}----${this.age}");
}
}
void main(List<String> args) {
Person person = new Person();
print(person.name);
person.getInfo();
}
类的默认构造函数(和JAVA一样)
class Person{
String name = "";
int age = 0;
Person(String name,int age){
this.name = name;
this.age = age;
}
void getInfo(){
print("${this.name}----${this.age}");
}
}
void main(List<String> args) {
Person person = new Person("张三", 23);
person.getInfo();
}
构造函数简写
class Person{
String name = "";
int age = 0;
Person(this.name,this.age);
void getInfo(){
print("${this.name}----${this.age}");
}
}
类的命名构造函数
class Person{
String name = "";
int age = 0;
Person(this.name,this.age);
Person.setInfo(String name,int age){
this.name = name;
this.age = age;
}
void getInfo(){
print("${this.name}----${this.age}");
}
}
void main(List<String> args) {
Person person = new Person.setInfo("张三", 23);
person.getInfo();
}
类的模块化


属性和方法的私有化
注意:属性和方法的私有化必须要将类单独抽离成一个文件
在属性名前面加入一个下划线即可让属性成为私有属性
在方法名前面加入一个下划线即可让方法成为私有方法
class Person{
String _name;
Person(this._name);
void _run(){}
void getInfo(){
print("${this._name}");
}
}
get和set方法
class Person{
String _name = "";
//set方法
set setName(name){
this._name = name;
}
//get方法
get getName{
return this._name;
}
void getInfo(){
print("${this._name}");
}
}
void main(List<String> args) {
Person person = new Person();
//get、set方法在Dart中算是属性,所以使用属性的方式调用
person.setName="张三";
print(person.getName);
}

浙公网安备 33010602011771号