JAVA面向對象之封裝

奔跑吧雞翅 2021-08-15 15:03:03 阅读数:695

本文一共[544]字,预计阅读时长:1分钟~
java 面向

這是我參與8月更文挑戰的第15天,活動詳情查看:8月更文挑戰

文章目錄

封裝的概念

封裝的概念
封裝性是面向對象思想的三大特征之一,封裝就是隱藏實現細節,僅對外提供訪問接口。實現細節部份包裝、隱藏起來的方法。

封裝的好處
模塊化、信息隱藏、代碼重用、插件化易於調試、具有安全性

封裝的缺點
會影響執行效率

總結
封裝可以被認為是一個保護屏障,防止該類的代碼和數據被外部類定義的代碼隨機訪問。

要訪問該類的代碼和數據,必須通過嚴格的接口控制。

封裝最主要的功能在於我們能修改自己的實現代碼,而不用修改那些調用我們代碼的程序片段。

適當的封裝可以讓程式碼更容易理解與維護,也加强了程式碼的安全性。

封裝的步驟

下面通過具體步驟說明適當封裝的好處。

通常如果要傳遞一個人的信息數據要一個一個字段傳

void showPersonInfo(String name,int age){
}
複制代碼

如果設計一個 Person 類傳遞數據就更方便了

class Person {
String name;
int age;
}
void showPersonInfo(Person person){
}
複制代碼

為了使得類的屬性值在可控範圍內,應該使用嚴格的訪問權限,將屬性保護起來

class Person {
private String name;
private int age;
}
複制代碼

一但屬性被私有話,則在類的外部都不再能訪問這些屬性,所以應該提供共有的訪問的屬性的方法

class Person {
private String name;
private int age;
public int getAge() {
return age;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
}
複制代碼

以上實例中 public 方法是外部類訪問該類成員變量的入口。通常情况下,這些方法被稱為gettersetter方法。通過如下的例子說明 Person 類的變量怎樣被訪問:

public class Main {
public static void main(String[] args) {
Person person = new Person();
person.setName("Errol");
person.setAge(20);
showPersonInfo(person);
}
static void showPersonInfo(Person person) {
System.out.print("Name:" + person.getName() +
" Age:" + person.getAge());
}
}
複制代碼
版权声明:本文为[奔跑吧雞翅]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/08/20210815150253235h.html