ホームページ  >  記事  >  Java  >  Java のカプセル化、継承、ポリモーフィック機能について話しましょう

Java のカプセル化、継承、ポリモーフィック機能について話しましょう

WBOY
WBOY転載
2022-09-06 17:34:521441ブラウズ

この記事では、java に関する関連知識を提供します。主に Java のカプセル化、継承、およびポリモーフィック機能について説明します。興味のある学生はぜひご覧ください。皆さんのご協力を願っています。

Java のカプセル化、継承、ポリモーフィック機能について話しましょう

推奨学習: 「java ビデオ チュートリアル

1. カプセル化

カプセル化とは何か、話しましょうそれについて 私自身のカプセル化についての理解は、カプセル化はクラス情報 (クラス属性など) をクラス内に隠し、外部プログラムによる直接アクセスを許可しないというものです。このとき、キーワード private について言及する必要があります。これは、メンバー (変数およびメソッド) を変更して、メンバーが他のクラスによって使用されないように保護するために使用できる権限修飾子です。対応する操作を提供する必要があります: a. メンバー変数の値を取得するために使用される get variable name () メソッドを提供します; b. メンバー変数の値を設定するために使用される set 変数名 (パラメーター) を提供します。これも get メソッドと同じで、どちらも変更するために public に使用されます (変数名の最初の文字は大文字にする必要があることにも注意してください)。

2. 継承

継承とは何ですか? 継承についての理解を話しましょう。継承とは、クラス間の一貫した関係であり、数学的集合における包含と包含の関係に似ています。たとえば、 , 大学生が学生に属している場合、大学生クラスは学生クラスを継承すると見ることができ、大学生クラスは学生クラスのサブクラス (派生クラス) となり、学生クラスは親クラス (基本クラス) になります。同時に、Java の継承は単一継承 (マルチレベル継承) と複数の実装 (インターフェース) であることに注意してください (クラスには 2 つの父親を持つことはできませんが、息子は 1 つあることを理解してください)。は父親を継承でき、父親は祖父など複数のレベルを継承できます)

形式: public class サブクラス名 extends 親クラス名{}

例: public class zi extends fu{}

3. ポリモーフィズム

ポリモーフィズムとは カプセル化や継承などはほとんどポリモーフィズムに対応して用意されている 個人的にはメソッドの書き換えなどJavaプログラムが動作中に継承を利用する場合の関係としてポリモーフィズムを理解しています継承はポリモーフィズムの基礎です。

例: 大学生は大学生であると言えます: college students unst=new college students ();

大学生であるとも言えます。 are students: students st=new college students ();

ここで大学生は、異なる時点で異なるフォームを示します。これはポリモーフィズムだと思います。

ポリモーフィズムの実装の前提条件と表現には、次の点が含まれます。 : 1. 継承関係がある 2. 書き換えるメソッドがある 3. サブクラス オブジェクトにつながる親クラスがある

#次のコードは、カプセル化、継承、ポリモーフィック Java の 3 つの主要な機能を示します。

4. コードをアップロードし、最後にエフェクトの実行を追加します。

package Cl1;
//先创造一个Computer的父类
public class Computer {
    //定义属性,利用private关键字,对类的性质进行封装,
    private String name;
    private int price;
    //构造一个无参方法
    public Computer(){
    }
    //构造一个有参方法
    public Computer(String name) {
        this.name = name;
    }
    //构造一个有参方法
    public String getName() {
        return name;
    }
    //通过set加变量名,首字母大写来设置
    public void setName(String name) {
        this.name = name;
    }
    //通过get加变量名,首字母大写来获取
    public Computer(int price) {
        this.price = price;
    }
    //通过set加变量名,首字母大写来设置
    public void setPrice(int price) {
        this.price = price;
    }
    //通过get加变量名,首字母大写来获取
    public int getPrice() {
        return price;
    }
    //定义父类study方法
    public void study(){
        System.out.println("电脑能用来学习,也能敲代码");
    }
}
package Cl1;
//定义一个Lenovo的子类来继承父类
public class Lenovo extends Computer{
    public Lenovo(){
    }
    public Lenovo(String name){
        super(name);
    }
    //重新study方法,并且同时继承调用父类中的study方法
    public void study(){
        super.study();
        System.out.println(getName()+"价格"+getPrice()+"rmb,"+"敲代码,年入百万不是梦");
    }
}
package Cl1;
//创建一个Apple的子类来继承Computer
public class Apple extends Computer{
    //定义make方法,同时Computer中的s对象 调用study方法
    public void make(Computer s){
        s.study();
    }
}
package Cl1;
//测试类别
public class test {
    public static void main(String[] args) {
        //自动转型(向上转型)
        Computer cp=new Lenovo();
        cp.setName("联想小新");
        cp.setPrice(5000);
        //调用Lenovo中的study方法
        cp.study();
        //多态展现,
        Apple apple=new Apple();
        apple.make(cp);
    }
}

推奨学習: 「

Java ビデオ チュートリアル

以上がJava のカプセル化、継承、ポリモーフィック機能について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。