JAVA基礎—03.面向對象&封裝

愛轉圈筆記

勤思、體悟、總結、分享

面向對象——封裝

什麼是面向對象(Object Oriented,OO)?

面向對象是一種將簡單的、分散的事物逐漸抽象和歸類的思想


什麼是類?什麼是對象?

類是對象的抽象(集合),對象是類的實體(個例)


在學習面向對象之前,需要先了解一下java中的訪問修飾符,它們控制着元素的訪問權限。

√表示在當前範圍內可以訪問

修飾符\範圍 同類 同包 子類 所有 備註
private 私有
friendly 友好
protected 保護
public 公開

封裝

什麼是封裝?

高內聚,低耦合;將複雜的內部結構隱藏,只留出部分接口供外部調用。

例如動物吃東西,外部只要調用吃方法餵食物就可以了,不用管它怎麼吃,怎麼消化。


什麼是構造方法?

構造方法名與類名相同,沒有返回值;在聲明類時,系統會默認提供一個無參構造方法;若自行聲明構造方法,則默認構造方法將被覆蓋,所以在聲明JavaBean時,手動聲明一個無參構造方法,方便以後擴展。


什麼是JavaBean?就是自己定義的一種類。

JavaBean 作用
數據Bean 通過實體類傳遞數據
業務Bean 代碼複用

/**
 * 動物類
 * @author 愛轉圈
 *
 */
public class Animal {
	//類默認的構造方法,通過構造方法來實例化對象
	public Animal() {
		//super和this,在此處不做詳細解釋
		//super指代父類對象
		//this指代當前被實例化的對象
		super();
	}
	//通過private關鍵字限制外部訪問
	private String name;//動物的名字
	private int age;//動物的年齡
	
	//通過public修飾get/set方法用來給外部調用
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		//提供的公共方法中可以對成員變量進行控制
		//而不是讓外部直接調用成員變量,防止出現不可預測的問題
		if(age<0){
			this.age = 0;
		}
		this.age = age;
	}
	
	//動物的吃方法
	public void eat(String food){
		//輸出當前動物的名字和吃了什麼東西
		System.out.println(name+",吃了"+food);
	}
	//動物的睡方法
	public void sleep(){
		//輸出當前動物睡着了
		System.out.println(name+",睡着了···");
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章