Javaパッケージ-14日間の学習ノート

カプセル化

  • 露の露、露の露

私たちのプログラム設計は、「高凝集度、低結合度」を追求する必要があります。

1.高い凝集度とは、クラスの内部データ操作の詳細がそれ自体で完了し、外部干渉が許可されないことを意味します。

2.低結合:外部使用のために公開されているメソッドはごくわずかです。(たとえば、コンピューターは一部のインターフェイスなどのみを公開し、詳細なものはマシンにカプセル化されます)

  • カプセル化(データの非表示)

  • 一般に、直接アクセス-オブジェクト内のデータの実際の表現は禁止する必要がありますが、情報隠蔽と呼ばれる操作インターフェイスを介してアクセスする必要があります。

この文を覚えておくだけで十分です:属性private、get / set

import com.oop.Demo04.Studen;

/*
1.提高程序的安全性
2.隐藏代码的实现细节
3.统一接口
4.系统可维护增加
 */

//一个项目应该只有一个main方法
public class Application {
    
    

    public static void main(String[] args) {
    
    

         Studen x = new Studen();
         x.setName("小明");
        System.out.println(x.getName());
        x.setNumber(12);
        //快捷键 x.getNumber().sout
        System.out.println(x.getNumber());
        x.setSex('男');
        System.out.println(x.getSex());
        //不合法的
        x.setNumber(371293712);
        System.out.println(x.getNumber());
    }

}
package com.oop.Demo04;
//类
public class Studen {
    
    
    //private  属性私有,不能正常调用
    //性别
    private char sex;
    //名字
    private String name;

    //学号
    private int number;

    //学习()
    private void  study(){
    
    

    }
   //提供一些可以操作这个属性的方法。
    // 提供一些public的get/set方法
    //只有get就代表只读不写反之就是只写不读

    //get获得这个数据
    public char getSex (){
    
    
        return this.sex;
    }
    public String getName(){
    
    
        return this.name;
    }
    //set  给这个数据设置值;
    public void setName(String name){
    
    
        this.name = name;
    }
    public void setSex(char sex){
    
    
        this.sex = sex;
    } //也可以设置一样的名字重载
      public void setSex(char sex,int a){
    
    
        this.sex = sex;
    }
    //alt +回车  选getter,setter 或者两个一起
    public int getNumber() {
    
    
        return number;
    }

    public void setNumber(int number) {
    
    
        //因为封装可以做安全性的检测
        if(number > 99999 || number< 0 ){
    
    
             this.number = 0;
        }else{
    
    
            this.number = number;
        }

    }
    
}

Javaで2つのクラスが同じであるかどうかを判断するために、実際には主に2つのことを調べます。

//メソッド名パラメータリストメソッドのオーバーロード

おすすめ

転載: blog.csdn.net/yibai_/article/details/114809163