問題定義:假設人分為學生和工人,學生和工人都可以說話,但是學生和工人說話的內容是不一樣的,也就是說說話這個功能應該是乙個具體功能,而說話的內容就要由學生或工人來決定了。可以使用抽象類來實現這個功能。abstract class person
public void setname(string name)
public string getname()
public void setage(int age)
public int getage()
public void say()
public abstract string getcontext();//返回人說話內容的方法,具體由子類來實現
};class student extends person
public void setscore(float score)
public float getscore()
public string getcontext()
};class worker extends person
public void setsalary(float salary)
public float getsalary()
public string getcontext()
};public class abstractcasedemo02
};
輸出結果:
name = tom, age = 20, score = 98.0
name = jay, age = 34, salary = 5600.0
抽象類應用 模板模式
公司的專案中有乙個這樣需求,客戶要求對不同的資訊進行匯出功能,如使用者資訊 商品資訊 訂單資訊等等,並且要求數量太大的匯出要進行非同步處理,專案中就採用了模板模式進行了處理。需求確定了,解決方法也確定了,那我們先來看一下模板模式的定義 定義乙個操作中的演算法的框架,而將一些步驟延遲到子類中,使得子類...
抽象類的定義及應用
1.抽象類不可以例項化。抽象方法是乙個模板或約束,避免了子類的隨意性,要實現它的類就必須重寫它的方法,除非子類也是抽象類。1.被關鍵字abstract修飾。2.抽象方法沒有方法體。public abstract void 方法名 public abstact void eat 定義抽象方法 抽象方法...
抽象類的應用
新建乙個抽象類 abstract class person 自動生成get和set方法 public int getage public void setage int age public string getname public void setname string name 建立抽象函式 ...