Java--面向物件--封裝
阿新 • • 發佈:2020-12-05
Java-面向物件-封裝
- 封裝的好處就是提高程式碼的安全性
- 程式的設計追求是“高內聚”與“低耦合“
- 高內聚:類的內部資料操作細節自己完成,不允許外部干涉
- 低耦合:僅對外暴露少量的方法用於使用
- 隱藏物件內部的複雜性,只對外公開簡單的介面便於呼叫,提高系統的可擴充套件性、可維護性
- 通俗的說,就是把改隱藏的隱藏起來,該暴露的暴露出來,這就是封裝的設計思想
- 封裝的修飾符:
private
、protected
、public
package com.shanlei02; /** * @Auther: shanlei * @Date: 2020/12/4 - 12 - 04 - 18:19 * @Description: com.shanlei02 * @version: 1.0 */ public class Student { // 私有化屬性 private String name; private int age; private String gender; // alt+inset 使用快捷鍵建立getter和setter方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { if("男".equals(gender) || "女".equals(gender)){ this.gender = gender; }else{ this.gender = "男"; } } // 構造器 public Student(){ } public Student(String name, int age, String gender){ this.name = name; this.age = age; this.setGender(gender); } }
package com.shanlei02; /** * @Auther: shanlei * @Date: 2020/12/4 - 12 - 04 - 18:25 * @Description: com.shanlei02 * @version: 1.0 */ public class Test { // 這是main方法,是實現程式主要邏輯 public static void main(String[] args) { Student s1 = new Student(); s1.setName("殃奕"); s1.setAge(18); s1.setGender("女"); System.out.println(s1.getName()+"-------"+s1.getGender()+"------"+s1.getAge()); Student s2 = new Student("nana", 18, "女"); System.out.println(s2.getName()+"-------"+s2.getGender()+"------"+s2.getAge()); } }