Heim >Java >javaLernprogramm >Was sind die drei Hauptmerkmale der objektorientierten Kapselung? So implementieren Sie die Kapselung (Codebeispiel)

Was sind die drei Hauptmerkmale der objektorientierten Kapselung? So implementieren Sie die Kapselung (Codebeispiel)

青灯夜游
青灯夜游nach vorne
2018-10-27 17:43:353165Durchsuche

Der Inhalt dieses Artikels besteht darin, die drei Hauptmerkmale der objektorientierten Kapselung vorzustellen. Möglichkeiten zur Implementierung der Kapselung (Codebeispiele). Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

1. Was ist Kapselung? Und warum ist eine Kapselung notwendig?

Normalerweise können Sie Mitgliedsvariablen einige zulässige, aber unangemessene Werte zuweisen. In diesem Fall wird während der Kompilierungsphase und der Ausführungsphase kein Fehler gemeldet oder es werden sofortige Informationen bereitgestellt. Obwohl dieser Wert legal ist, widerspricht er dem wirklichen Leben. Um die oben genannten Probleme zu vermeiden, müssen Mitgliedsvariablen versiegelt und verpackt werden, um die Legalität und Rationalität der Mitgliedsvariablen sicherzustellen. Die Kapselung kann als Schutzbarriere betrachtet werden, die verhindert, dass der von der externen Klasse definierte Code zufällig auf den Code und die Daten der Klasse zugreift. Der Zugriff auf den Code und die Daten dieser Klasse muss über strenge Schnittstellen kontrolliert werden.

2. Wie kapselt man?

(1) Privatisieren Sie Mitgliedsvariablen und verwenden Sie das Schlüsselwort private, um sie zu ändern.

(2) Stellen Sie öffentliche Get- und Set-Methoden bereit, beurteilen Sie angemessene Werte im Methodenkörper und verwenden Sie die öffentliche Schlüsselwortänderung;

(3) Verwenden Sie die Set-Methode in der Konstruktionsmethode

3. Beispiele sind wie folgt:/*Person.java*/

/*
     编程实现Person类的封装
 */
public class Person{
    //1.私有化成员变量,使用private关键字修饰
    private String name; 
    private int age;
    private String country;
    //使用static关键字修饰成员变量表示提升为类层级只有一份被所有对象共享
    //public static String country;

    //3.在构造方法中调用set方法进行合理值的判断
    public Person(){
    }
    public Person(String name, int age, String country){
        setName(name);
        setAge(age);
        setCountry(country);
    }

    //2.提供公有的get和set方法,在方法体中进行合理值的判断
    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name = name;
    }
    public int getAge(){
        return age;
    }
    public void setAge(int age){
        if(age > 0 && age < 150){
            this.age = age;
        }else{
            System.out.println("年龄不合理!!!");
        }
    }
    public String getCountry(){
        return country;
    }
    public void setCountry(String country){
        this.country = country;
    }

    public void show(){
        System.out.println("我是" + getName() + ",今年" + getAge() + "岁了,来自" + getCountry() + "!");
    }

    //自定义成员方法描述吃饭的行为
    public void eat(String food){
        System.out.println(food + "真好吃!");
    }
    //自定义成员方法描述娱乐的行为
    public void play(String game){
        System.out.println(game + "真好玩!");
    }
}

Das obige ist der detaillierte Inhalt vonWas sind die drei Hauptmerkmale der objektorientierten Kapselung? So implementieren Sie die Kapselung (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen

In Verbindung stehende Artikel

Mehr sehen