首頁 > Java > java教程 > 主體

JAVA入門系統教學(六)物件導向(封裝)

php是最好的语言
發布: 2018-08-10 10:47:40
原創
1421 人瀏覽過

                                         #1. 概念:封裝是將類別的某些資訊隱藏在類別的內部,不允許外部程式直接訪問,而是透過該類別提供的方法來實現對隱藏資訊的操作和存取

   優點:a.只能透過規定的方法存取數b.隱藏類別的實例細節,方便修改與實作

2. 實作步驟:

   1)修改屬性可見性(設為private)

# 2)建立getter/setter方法(用於屬性讀寫)

   3)在方法中加入屬性控制語句(對屬性值得合法進行判斷)

例:設定學生類別:兩個屬性 1)name      2)age

      在Student類別中,加入針對age年齡判斷,如果年齡小於0或大於150,提示:不合理資料

 加入判斷,無法解決的存在不合理資料;

      利用關鍵字

private
:私有--->無法存取(

已被private修飾的成員變數/成員方法,只能在本類別中存取,外界無法直接存取

) 3. 套件JAVA入門系統教學(六)物件導向(封裝)

   1)套件的作用:管理JAVA文件,解決同名文件衝突


定義包:package 包名

                注:必須放在JAVA源程序第一行包名間可以用. 隔開,如:com.westos.Class

  2)系統中的套件:

JAVA入門系統教學(六)物件導向(封裝)   java.(功能).(類別)

   java.lang.(類別)包含java語言基礎類別

java.util.(類別)包含java語言中各種工具類別

   java.io.(類別)包含輸入輸出相關功能類別

  3)套件的使用:透過import關鍵字,在某個文件使用其他文件中的類別

  如:我們之間在鍵盤輸入中導入的包

     註:java中,套件的命名規格全為小寫字母JAVA入門系統教學(六)物件導向(封裝)

   使用時可以載入某套件下的所有檔案(import java.util.*)或牟特具體子套件(

import java.util.Scanner

4. 存取修飾符:用來修飾屬性和方法的存取範圍

##ps:通常我們把方法用public修飾屬性用private修飾

JAVA入門系統教學(六)物件導向(封裝)

5.this關鍵字

  1)this關鍵字代表目前引用物件

this.屬性: 操作目前物件的屬性

       this.方法: 呼叫目前物件的方法

  2)封裝物件的屬性的時候,常常會使用this關鍵字

#       

ps:產生get 、set方法

#      Source--->Generate Getters and Setters

JAVA入門系統教學(六)物件導向(封裝)

JAVA入門系統教學(六)物件導向(封裝)


JAVA入門系統教學(六)物件導向(封裝)




JAVA入門系統教學(六)物件導向(封裝)

########################################################################## ################     這時我們發現,我們的屬性名稱和參數名稱重複了,為了區分,我們加了this關鍵字,意為把參數的值賦給當前屬性的值#########     this關鍵字不但可以跟屬性使用,如果我們希望在一個set方法裡呼叫某個方法也可使用################例:綜合之前的例子,輸出結果#########   1.手機類別###
package example;


public class Phone {	private String brand;	private int price;	private String color;		public void sendMessage() {		System.out.println("you can message to Andrew");	}		public String getBrand() {		return brand;	}	public void setBrand(String brand) {		this.brand = brand;		this.sendMessage();	}	public int getPrice() {		return price;	}	public void setPrice(int price) {		this.price = price;	}	public String getColor() {		return color;	}	public void setColor(String color) {		this.color = color;	}		public void show(String name) {		System.out.println(name+" use the iphone to call Andrew");	}
}
登入後複製
###2. 學生類別######
package example;


public class Student {	//定义两个变量	String name ;	String gender;	private int age ;	//提供方法:输出变量		public void show() {		System.out.println(name+"   "+age+"   "+gender);	}	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	public int getAge() {		return age;	}	public String getGender() {		return gender;	}	public void setGender(String gender) {		this.gender = gender;	}	//针对age进行判断	public void setAge(int a) {		if(a<0||a>150) {			System.out.println("该数据不符合实际");		}else {			age = a;		}	}
}
登入後複製
###3. 呼叫###
package example;


public class Ex2 {	public static void main(String[] args) {		Student x = new Student();		Phone i = new Phone();		x.setAge(24);		x.setName("Silvia");		x.setGender("Lady");		x.show();		i.setBrand("Apple");		i.setColor("玫瑰金");		i.setPrice(6999);		i.show(x.name);	}
}
登入後複製
###結果:######################END##########相關文章:###

JAVA入門系統教學(四)基礎語法(2)

JAVA入門系統教學(五)基礎語法(3)

以上是JAVA入門系統教學(六)物件導向(封裝)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!