面向對象OOP
三個基本特徵 繼承、封裝、多態
封裝 :封裝把客觀事物封裝成抽象的類,並且把自己的部分屬性和方法提供給其他對象調用,一部分屬性和方法隱藏
繼承 :可以使用現有類的功能,並在無需重新編寫原來類的情況下對這些功能進行擴展
多態 :執行統一函數有不同的執行結果
Dart 中所有東西都是對象,所有對象都繼承Object類 (iOS類似)
Dart 中所有類都是Object 子類
一個類 同城由 屬性和方法組成
List list =new List();
list.isEmpty;
list.add('1');
創建一個類
class person {
String name ='1';
int age =22;
void getInfo(){
print(${this.name})
}
Person(String name,int age){
// 默認構造函數
this.name =name;
this.age =age;
}
Person.now(){
print(’命名構造函數‘)
}
void setinfo(int age){
this.age =age;
}
}
dart 中構造函數可以寫多個、默認構造函數只有一個
dart 在構造函數運行之前初始化實例變量
私有方法
dart 中沒有 修飾符用來修飾私有方法
在定義方法和屬性時候 添加 _ 用來區分私有方法和屬性
如:
void _run(){
}
Getter、 Settter
class Rect{
num height;
num width;
Rect(this.height,this.width);
get area{
return this.height*this.width;
}
set areaHeight(value){
this.height=value;
}
}
void main(){
Rect r=new Rect(10,2);
print("面積:${r.area}"); //注意調用直接通過訪問屬性的方式訪問area
}