1. 程式人生 > >面向物件的三大特徵(封裝)

面向物件的三大特徵(封裝)

文章目錄

基本含義

建立語法:

  1. private [非訪問控制修飾符] 資料型別 成員變數名;
  2. private [非訪問控制修飾符] 返回值資料型別 方法名(資料型別 形參1, 資料型別 形參2){方法體};
專案 含義
別名 隱藏
目的 隱藏屬性或方法,防止外部類隨意訪問。
本類訪問 this.成員變數名。
外類訪問 通過set方法和get方法

注意:

  1. 採用private訪問控制修飾符來修飾。
  2. 封裝的物件常常是成員變數。

具體操作

主函式入口原始檔:

public class MainEntrance{
  public static void main(String[] args){
    Student stu = new Student("張三", 18, "男");
    /* 
     * 外類呼叫:封裝的成員變數。
     * 目的:使用成員變數。
     * 方法:通過get方法來呼叫。
     */
System.out.println("外類呼叫被封裝的成員變數為:" + stu.getAge()); // 結果:18。 /* * 外類呼叫:封裝的成員變數。 * 目的:修改成員變數 * 方法:通過set方法來呼叫。 */ stu.setAge(); // 結果: 19。 stu.getAge(); // 結果:19。 } }

學生類原始檔:

public class Student{
  /* 
   * 封裝屬性,即成員變數。
   * 語法:private 資料型別 成員變數名;
   * 目的:防止外部類隨意訪問。隱藏屬性。
   */
private String name; private int age; private String sex; // 構造器:無參構造器。 public Student{ } // 構造器:有引數的構造器。 public Student(String name, int age, String sex){ // 本類構造器呼叫:this.成員變數名。 this.name = name; this.age = age; this.sex = sex; } // 物件(非靜態)方法: /* * set方法 * 作用: 修改封裝的成員變數。 * 目的:幫助外部類物件修改被封裝的成員變數。 * set方法名:set + 首字母大寫的屬性名。 * 語法:public void set屬性(屬性資料型別 變數名){方法體}。 */ public void setAge(){ // 本類物件方法呼叫:this.age。 this.age++; System.out.println("設定加1後的年齡:"+ this.age); } /* * get方法 * 作用:獲取封裝的成員變數。 * 目的:幫助外部類物件獲取被封裝的成員變數。 * get方法名:get + 首字母大寫的屬性名 * 語法:public 屬性資料型別 get屬性(){方法體}。 */ public int getAge(){ return this.age; } /* 類(靜態)方法 * 訪問成員變數步驟 * 1. 建立物件。 * 2. 物件.成員變數名 */ }