今天的學習內容
1.基本資料型態
2.空安全是甚麼?怎麼用?
4.類別的繼承和覆寫
基本型態
裡面有數值、字串、布林值,特別的是沒有float型態。
空安全
說明:為了要避免變數裡的值是空的情況。
舉例來說,要儲存三位考生的成績,結果有一人缺考,成績是空的,程式就無法執行,造成程式異常終止,也稱閃退。
如何使用: 在宣告變數時,在形態後面加?。int? x;
類別
類別的優點可以保護資料以及繼承。前者避免外部的程式碼使用類別裏頭的資料,而是透過類別的方法來取得。後者是可以直接繼承類別,又稱父子類別,提取別的類別叫子類別,被提取的稱父類別。
繼承使用方法:
class 類別名稱 extends 父類別名稱{
}
舉例:
class Person{
late String name;
Person(String name){
this.name=name;
}
void setName(String name){
this.name=name;
}
String getName(){
return name;
}
}
class Student extends Person{
late int score;
Student(String name,this.score):super(name);
void setScore(int score){
this.score=score;
}
int getScore(){
return score;
}
}
這樣子Student就可以繼承Person裡的物件。
再來是覆寫
可以改變原先的方法的結果
要使用編譯註解@override
以下範例:
void main() {
Student s=Student('裡小二',90);
s.setName('李小明');
print('${s.getName()}${s.getScore()}');
}
class Person{
late String name;
Person(this.name);
void setName(String name){
this.name=name;
}
String getName(){
return name;
}
}
class Student extends Person{
late int score;
Student(String name,this.score):super(name);
void setScore(int score){
this.score=score;
}
int getScore(){
return score;
}
@override
void setName(String name){
super.setName('學生'+name);
}
}
輸出結果:學生李小明90
如果少了覆寫,輸出結果為:李小明90
今日總結
今天比較麻煩的是建構子的使用,思索了一下子才搞懂,還有set跟get方法,之前學Java沒有很仔細的理解。