Javaにおけるオブジェクト指向の3つの主要な特性の継承とカプセル化

Javaのオブジェクト指向には、継承、カプセル化、およびポリモーフィズムという3つの主要な特性があります。

以下に、例を使用してJavaの継承とカプセル化を示します。
継承とは、子クラスが親クラスのいくつかのプロパティとメソッドを継承することを意味します。Javaの継承は、extendsキーワードによって実現されます。継承を実装するクラスはサブクラスと呼ばれ、継承されたクラスは親クラスと呼ばれ、一部は基本クラスとも呼ばれます。
継承の役割:クラスとクラスの間の関係を記述し、クラスとクラスの間のコードの重複を減らします。
パッケージングは​​、たとえば、コンピュータホストのCPU、メモリ、グラフィックカード、電源などをホストにカプセル化するという原則です。
カプセル化の利点:安全性、変更の分離、簡単な操作、および再利用性。カプセル化の原則:非表示にする必要があるものは非表示にし、公開する必要があるものは公開します。

以下は、カプセル化への継承の簡単なプロセスを示す簡単な例です。

以下にいくつか表示します
内联代码片

//person表示父类 private表示父类的一些属性被隐藏起来了
public class Person {
	private String name;
	private  String gender;
	private int age;
	public Person() {
		System.out.println("这是父类构造函数");
		// TODO Auto-generated constructor stub
	}
	public Person(int age) {
		System.out.println("这是父类构造函数");
	}
	
	public Person(String gender, int age) {
		this.gender = gender;
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	 public void eat() {
		 System.out.println("人会吃饭");
	 }
	 public void sleep() {
		 System.out.println("人会睡觉");
	 }
	

以下にいくつか表示します内联代码片

StudentクラスはPersonを継承し、独自のプライベートプロパティも持っていますが、これらも非表示になっています。このプロセスは継承を意味します。
public class Student extends Person{
    private int number;

	public Student(int age) {
		super(99);
		System.out.println("这是子类构造函数2");
	}

	public int getNumber() {
		return number;
	}
	public void setNumber(int number) {
		this.number = number;
	}
	//方法的重写、表示父类中的eat()方法被子类重写
	@Override
    public void eat() {
    	System.out.println("人会吃饭");
    }

以下にいくつか表示します内联代码片

親クラスとサブクラスのプロパティとメソッドを呼び出すエクスポートテストクラスを記述します(ここでは、シャーシ内の各コンポーネントをカプセル化し、使用するためにいくつかのインターフェイスを残すコンピューターホストに似ています)。
public class Test {
	public static void main(String[] args) {
		Student stu = new Student(99);
		stu.setName("张三");
		
		//类中的私有属性可以通过set和get获取
		String name = stu.getName();
		System.out.println(name);
		stu.eat();
		
	}
}
上記のPersonクラスとStudentクラスを接続して、それらを関連付けることができるようにします。これは、ポリモーフィズムに必要な条件の1つです。メソッドの書き換えもポリモーフィズムの条件です。両方が不可欠です。属性のプライベート化は、カプセル化条件を満たし、最後にそれらを呼び出すために(Testクラスの)mainメソッドを介して出口を離れます。これはカプセル化です。

おすすめ

転載: blog.csdn.net/fdbshsshg/article/details/112852135