Dabaiは、Javaソフトウェアの包囲ライオン(オブジェクト指向カプセル化、静的)の18日目になりました。

オブジェクト指向のカプセル化

カプセル化の利点:

  • 1.カプセル化後、そのことについては、物事のより複雑な側面を見ることができず、物事の単純な側面だけを見ることができます。複雑さのカプセル化により、簡単な操作の入り口が提供されますカメラは良い例です。カメラの実現原理はもっと複雑ですが、カメラを使う人にとってはとても便利です。また、テレビもパッケージ化されているように、テレビのメモリ実装は非常に複雑ですが、ユーザーは内部実装の原則を気にする必要はなく、リモコンを操作するだけで済みます。
  • 2.カプセル化後、実際の「オブジェクト」と実際の「独立したボディが形成されます。
  • 3.カプセル化とは、将来のプログラムを再利用できることを意味します。そして、これはより適応性があり、あらゆる状況で使用できるはずです。再利用性
  • 4.カプセル化後、モノ自体のセキュリティが向上します[高セキュリティレベル]

カプセル化の手順:

1.すべての属性が民営化され、privateキーワードが変更に使用されます。Privateはプライベートを意味し、変更されたすべてのデータはこのクラスでのみアクセスできます。

2.外部への簡単な操作の入り口を提供します。つまり、外部プログラムが年齢属性にアクセスする場合は、次の簡単な入り口からアクセスする必要があります。

  • setメソッドとgetメソッドの2つのパブリックメソッドを提供します
  • age属性を変更するには、setメソッドを呼び出します
  • age属性を読み取るには、getメソッドを呼び出します

3. setメソッドの命名規則:public void set + 属性名首字母大写(形参){ };

public  void setAge(int a){
    
     
	age = a; 
}

4. getメソッドの命名規則:public 返回值类型 get + 属性名首字母大写(形参){ };

public int getAge(){
    
    
	return age;
}

5.覚えておく必要があります:

  • setterメソッドとgetterメソッドには静的キーワードがありません
  • staticキーワードで変更されたメソッドを呼び出す方法は?类名.方法名(实参);
  • 静的なキーワード変更なしでメソッドを呼び出す方法は?引用.方法名(实参);

例:

public class UserTest
{
    
    
	public static void main(String[] args){
    
    
		User user =new User();
		//编译报错,age属性私有化,在外部程序中不能直接访问
		//从此之后age属性非常的安全,但是有点太安全了。
		//对于目前程序来说,age属性彻底在外部访问不到了。
		//System.out.println(user.age);
       
       //修改
       user.setAge(-100);//对不起,您提供的年龄不合法
       //读取
       System.out.println(user.getAge());//0
	}
}
public class User
{
    
    
	//属性私有化
	private int age;
}

public  void setAge(int a){
    
     
	//编写业务逻辑代码进行安全控制
	//age = a; 
	
	if(a<0||a>150){
    
    
		System.out.println("对不起,您提供的年龄不合法");
		return;
	}
	//程序可以进行到这里的话,说明a是合法的,则进行赋值运算
	age = a; 
}

public  int getAge(){
    
    
	return age;
}

おすすめ

転載: blog.csdn.net/qq2632246528/article/details/113062563