Java面向對象:封裝性

1 Java面向對象思想

1.1面向對象三大特徵

(一)封裝性:對外部不可見

(二)繼承:擴展類的功能

(三)多態性:方法的重載,對象的多態性


2封裝性

1. 類中並不是所有的信息都能讓用戶可見的,因此隱藏這些信息就很有必要。這就是面向對象對封裝的要求。

2. 封裝性的目的:保護當前類的某些屬性和方法不被外部所見。

3. 封裝性的實現:Java的封裝是通過private修飾符來聲明屬性和方法實現的。

作用域

public

protected

default

private

當前類

同一包

 

子孫類

 

 

其他包

 

 

 

4. 實現該屬性的get/set方法,爲外部所訪問。

5. 封裝後的屬性不能像以前一樣通過“對象.屬性”訪問該屬性了。通過對象調用對應的get/set方法。

6. 例:

package com.dzh.classdemo;

 

/**

 * private 對屬性和方法進行封裝

 *

 * @author Daisy

 *

 */

class Person {

private String name; //private修飾實現封裝性

private char sex;

private int age;

 

// 通過get/set方法便於外部訪問或修改這些屬性

public String getName() {

return name;

}

 

public void setName(String name) {

this.name = name;

}

 

public char getSex() {

return sex;

}

 

public void setSex(char sex) {

this.sex = sex;

}

 

public int getAge() {

return age;

}

 

public void setAge(int age) {

if(age>=0){ // 如果年齡小於0,年齡的值爲默認值0

this.age = age;

}

}

public void print(){

System.out.println("姓名:"+getName()+",性別:"+getSex()+",年齡:"+getAge());// 調用get方法獲取屬性的值

}

 

}

 

public class ClassDemo01 {

 

public static void main(String[] args) {

Person zhangsan = new Person();

zhangsan.setName("zhangsan");// 調用set方法進行賦值

zhangsan.setSex('男');

zhangsan.setAge(-1);

zhangsan.print();

 

}

 

}

 

 

7. 匿名對象的使用:new Person().屬性/方法;//適用於只使用一次的情況


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章