単一継承は、スーパークラスから基本メソッド (データ メンバーと変数) と動作を継承する派生クラスとして定義できます。これは、ここに存在する基本的な関係の概念です。 Java は単一の継承のみをサブクラスとして使用し、それ以上のスーパークラスを拡張することはできません。
広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト継承はオブジェクト指向プログラミングの基本的なプロパティです。継承では、クラス オブジェクトのプロパティを別のオブジェクトで使用する傾向があります。 Java ではコードの再利用のために継承を使用し、信頼性を高め、実行時のポリモーフィズムを実現することで時間を短縮します。コードが再利用されるため、開発コストとメンテナンスが削減されます。 Java には、単一継承、マルチレベル、複数、ハイブリッドといったさまざまなタイプの継承があります。この記事では、プログラミング例を使用して、Java の単一継承の概念の基本的な理解を簡単に説明します。ここでは Java での完全な実装を行います。
構文:
このための一般的な構文を以下に示します。継承の概念では、キーワード「extend」を使用して特定のクラスを継承します。ここでは、拡張キーワードを使用してクラスを派生する方法を学びます。クラス名の後に、拡張キーワードを宣言し、その後に別のクラス名を宣言します。
コード:
class base class {…. methods } class derived class name extends base class { methods … along with this additional feature }
Java はキーワード「extends」を使用して、既存のクラスから派生した新しいクラスを作成します。継承されたクラスを基本クラスまたはスーパークラスと呼び、新しく作成されたクラスを派生クラスまたはサブクラスと呼びます。基本クラスはデータ メンバーとメソッドを提供し、子クラスはそれらのメソッドを継承します。
単一継承は、拡張時の子と親のクラス関係を指定し、すべてのメソッドの中で最も単純なタイプ (果物から継承する梨やリンゴなど) を指定します。継承メカニズムでは、オブジェクトはトップダウン方式で処理されます。以前に構文とその宣言について学びました。アクセス指定子の概念、つまりプライベート、パブリック、プロテクトを理解する必要があります。クラスは、プライベートを宣言した後でのみ、すべてのデータ メンバーにアクセスできます。一般はどのクラスでもアクセスできます。保護は同じパッケージで行われます。これも継承を通じてのみ適用されます。
コード:
class fruits {private int f; int g; private void mmm () { System.out.println(“….”); } } class M extends fruits {void method (); ……… }} class Main { public static void main (String [] args) { M ob= new M (); Ob.f=3; // here the variable cannot be accessed Ob.mmm(); }
上記のコードの説明: 上記のサンプル コード、ステートメント ob.=3 では、子クラスは基本クラスのプライベート メンバーにアクセスできないため、それらを割り当てることができません。したがって、シンボルが見つからないエラー (コンパイル時エラー) がスローされます。これを操作するには、親クラスのデータ メンバーをパブリックにする必要があります。
以下の例では、スーパークラスで protected を宣言しており、サブクラスはこれに直接アクセスできます。
コード:
class pgm { protected int I,k; method ( int m,int n) { … } class R extends pgm { private int f; // methods } public class protected Main { public static void main() { // methods and objects access }
単一継承のフロー図を以下に示します。
クラス Y はクラス X を継承し、単一のクラスのみを拡張します。
このセクションでは、子クラスが拡張キーワードを使用して親のプロパティと動作を参照する単一継承の実装について説明します。
注: これらすべての例でクラス名として Main を使用しました。実行中にファイル名を Main.java として保存する必要があります。オブジェクト クラスで単一継承を使用して従業員の給与を計算します。
コード:
class Employee { float sal=60000; } class Main extends Employee { float b=1500; float temp= sal + b; public static void main(String args[]) { Main ob=new Main(); System.out.println("Salary amount is:"+ob.sal); System.out.println(" Extra Bonous is:"+ob.temp); } }
出力:
和、減算、除算乗算メソッドを使用した計算機の実装。
コード:
class Calc{ int sum(int i , int j) { return i+j; } int subract(int i , int j) { return i-j; } } public class Main extends Calc { int mul(int xx , int yy) { return xx*yy; } int divide(int xx , int yy) { return xx/yy; } public static void main(String args[]) { Main c= new Main(); System.out.println(c.sum(2,2)); System.out.println(c.subract(2,6)); System.out.println(c.mul(8,9)); System.out.println(c.divide(2,2)); } }
出力:
単一継承を使用して長方形と三角形の面積を計算します。
コード:
class Rectdemo { int le,be; void Sval(int a,int b) { le=a; be=b; } int GetR() { return le*be; } } class Tri extends Rectdemo { int b,h; float t; void Sdata(int q,int r) { b=r; h=q; } float GetT() { t=(float)le/2*b*h; return (t); } } class Main { public static void main(String args[]) { Tri Tr=new Tri(); Tr.Sval(40,8); Tr.Sdata(10,6); System.out.println("Area of Rectangle is calculated as :" +Tr.GetR()); System.out.println("Area of Triangle is calculated As :"+Tr.GetT()); } }
出力:
単一継承でのスーパーキーワードの使用。スーパー キーワードは、オブジェクトの親クラスを参照し、そのコンストラクターとして機能します。
コード:
class Library { String lname; public Library(String m) { lname = m; } } public class Main extends Library { String lname; public Main(String x1, String x2) { super(x1); //passing argument to parent class constructor this.lname = x2; } public void display() { System.out.println(super.lname+" and "+lname); } public static void main(String[] args) { Main c = new Main("library name","library id"); c.display(); } }
出力:
継承を使用してサブクラスによって呼び出されるオーバーライドされたメソッド。
コード:
class even { void display() { System.out.println(" Even Nos,4 2"); } } class odd extends even { void display() { super.display(); System.out.println(" Odd Nos ,1 3"); } } class Main { public static void main(String[] args) { even e = new odd(); e.display(); } }
出力:
この記事では、最後に、さまざまな継承の概念と、Java で利用可能な単一継承の操作方法について説明します。また、extend キーワードを使用した実際の実装についても知ることができます。この記事が非常に有益であり、初心者に知識を追加できることを願っています。
以上がJava での単一継承の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。