上一篇簡單的聊了一下如何初始化對象,這一篇我們簡單的聊一下面向對象的三大特性(其實不止,但就這三種體現的最明顯),封裝、繼承、多態,封裝之前我們已經講了 就是get與set方法(但是這是對於一個類裏面來講的,如果在一個項目中的封裝是指工具類一類被經常用而且獨立的的代碼將其組合成一個類,也叫封裝),那我們就來說說 繼承與多態
繼承:用一句談戀愛時撒嬌的話說就是 你的是我的,我的還是我的。
專業術語是這樣解釋的:繼承父類父類中的方法和屬性包括構造方法,繼承是可以傳遞的
那我們就來看一個例子吧
public class Dog{
private String name;
private int money;
public Dog(String name,int money ){
this.name=name;
this.money=money;
}
public void sunds(){
System.out.println("旺!!旺!!");
}
public void eat (String name){
System.out.println(name+":"+"吃骨頭");
}
public static void main(String[] args) {
Dog dog=new Dog("小狗1號",198);
Pig pig=new Pig("小豬1號",5,250);
pig.eat("豬");
dog.eat("狗");
pig.sunds();
dog.sunds();
double s=pig.money(250, 5);
System.out.println("豬能賣多少錢:"+s);
}
}
class Pig extends Dog{
private double zhongliang;
public Pig(String name, int money, double zhongliang) {//因爲增加了新的變量所以構造函數需要重寫
super(name, money);//調用父類中的構造函數(super指父類中的,this是指本函數中的變量或方法)
this.zhongliang = zhongliang;//對於新增的變量需要設置
}
public void eat(String name){//重寫父類中的eat()函數
System.out.println(name+":"+"吃飼料");
}
public void sunds(){//重寫父類中sunds方法
System.out.println("呼!!呼!!");
}
public double money(double zhongliang,int money){//新定義一個money函數計算這頭豬能賣多少錢^_^!
return zhongliang*money;
}
}
不知道 各位看官 看明白木有 反正我是繼承又有了進一步的認識,大家一起努力 努力 come on