JAVAとC++の違い(2)
2187 ワード
JAVAとC++の違い(2)
JAVAのオブジェクト向け
クラスのすべてのメソッドは、虚メソッド(虚関数)です.
キーワード
さぎょう
現在のクラスがクラスの派生クラスに属しているかどうかを確認し、
キーワードを継承し、現在のクラスがどのベースクラスに継承されているかを宣言します.
宣言インタフェースクラスは、実装コードを必要とせず、宣言インタフェースのみであり、このような少なくとも1つの純粋な虚メソッドがあり、
ベースクラスはインタフェースクラスであり,ベースクラスの純虚を実現する方法
C++に相当する
抽象クラス、インスタンスにできないクラス、純粋な虚のベースクラス、派生クラスに継承され、ベースクラスのメソッドを実装するか、抽象的なメソッドとして宣言し続ける必要があります.
同じC++を継承し、キーワードが
メソッド書き換えルール
•書き換え方法のパラメータリストは、元の方法とまったく同じである必要があります.•戻り値タイプは、元のメソッドの戻り値タイプと同じか、親定義時の子タイプである必要があります.•書き換え関数のアクセスレベルの制限は、元の関数より高くはできません.たとえば、親メソッドが共有と宣言されている場合、子クラスの書き換えメソッドはプライベートまたは保護できません.•布団類が継承されている場合にのみ、方法が書き換えられます.•メソッドはfinalとして定義され、書き換えられないことになります.•1つのメソッドはstaticとして定義され、書き換えることはできませんが、再宣言できます.•一つの方法が継承されなければ、書き換えられない.•パケット内の親とのサブクラスは、privateおよびfinalとして宣言されていない親メソッドを書き換えることができます.•親クラスと同じパッケージにない子クラスは、non-finalメソッドまたはpublicまたはprotectedと宣言されたメソッドのみを書き換えることができます.•1つの書き換え方法は、書き換え方法が異常を投げ出すかどうかにかかわらず、実行時の異常を投げ出すことができる.しかし、書き換え方法は、書き換え方法によって宣言された更新よりも広範なチェック済み例外を投げ出すべきではない.書き換え方法は、書き換え方法よりも狭いまたは少ない異常を投げ出すことができる.
JAVAでは、C++の
マルチステート
マルチステートはC++と同じで、派生クラスのポインタはベースクラスのポインタを回転して虚関数を呼び出して、JAVAがポインタがないため、引用のために値を割り当てます
インタフェース
(クラスは多重継承できません)インタフェースクラスは複数のインタフェースを継承できます.
JAVAバッグ
JAVAパッケージ名とC++ネーミングスペースの役割パッケージ名は一般的に小文字で、クラスのメソッドとの重複を避ける
パッケージのインポート用は、importキーワードおよびワイルドカード(*)を使用してインポートできます.例: は、importキーワードを使用してクラス自体をインポートできます.例:
注意:クラスのファイルには、任意の数のインポート文を含めることができます.これらのインポート文は、パッケージ宣言文の後とクラスの定義文の前にある必要があります.
JAVAのオブジェクト向け
クラスのすべてのメソッドは、虚メソッド(虚関数)です.
キーワード
さぎょう
instanceof
現在のクラスがクラスの派生クラスに属しているかどうかを確認し、
BOOL
の値を返します.extends
キーワードを継承し、現在のクラスがどのベースクラスに継承されているかを宣言します.
interface
宣言インタフェースクラスは、実装コードを必要とせず、宣言インタフェースのみであり、このような少なくとも1つの純粋な虚メソッドがあり、
Static
およびFinal
以外のフィールドを持つことができないことを示しています.インタフェースメソッドはデフォルトで公有です.implements
ベースクラスはインタフェースクラスであり,ベースクラスの純虚を実現する方法
final
C++に相当する
Const
Abstraction
抽象クラス、インスタンスにできないクラス、純粋な虚のベースクラス、派生クラスに継承され、ベースクラスのメソッドを実装するか、抽象的なメソッドとして宣言し続ける必要があります.
同じC++を継承し、キーワードが
extends
になると多重継承はサポートされないが、多重継承機能を提供し、複数のベースクラスを実現する方法(すなわち多重継承)メソッド書き換えルール
C++
派生クラスの同名、同参、同戻り値、ベースクラスの属性はpublic
またはprotect
などの継承可能な虚関数である•書き換え方法のパラメータリストは、元の方法とまったく同じである必要があります.•戻り値タイプは、元のメソッドの戻り値タイプと同じか、親定義時の子タイプである必要があります.•書き換え関数のアクセスレベルの制限は、元の関数より高くはできません.たとえば、親メソッドが共有と宣言されている場合、子クラスの書き換えメソッドはプライベートまたは保護できません.•布団類が継承されている場合にのみ、方法が書き換えられます.•メソッドはfinalとして定義され、書き換えられないことになります.•1つのメソッドはstaticとして定義され、書き換えることはできませんが、再宣言できます.•一つの方法が継承されなければ、書き換えられない.•パケット内の親とのサブクラスは、privateおよびfinalとして宣言されていない親メソッドを書き換えることができます.•親クラスと同じパッケージにない子クラスは、non-finalメソッドまたはpublicまたはprotectedと宣言されたメソッドのみを書き換えることができます.•1つの書き換え方法は、書き換え方法が異常を投げ出すかどうかにかかわらず、実行時の異常を投げ出すことができる.しかし、書き換え方法は、書き換え方法によって宣言された更新よりも広範なチェック済み例外を投げ出すべきではない.書き換え方法は、書き換え方法よりも狭いまたは少ない異常を投げ出すことができる.
JAVAでは、C++の
::
がドメイン文字として機能しないため、派生クラスがベースクラスを呼び出すためのsuper
のキーワードが提供されるマルチステート
マルチステートはC++と同じで、派生クラスのポインタはベースクラスのポインタを回転して虚関数を呼び出して、JAVAがポインタがないため、引用のために値を割り当てます
インタフェース
(クラスは多重継承できません)インタフェースクラスは複数のインタフェースを継承できます.
public interface Hockey extends Sports, Event
JAVAバッグ
JAVAパッケージ名とC++ネーミングスペースの役割パッケージ名は一般的に小文字で、クラスのメソッドとの重複を避ける
パッケージのインポート用
import
キーワードimport packName.*;
import packName.ClassName;
注意:クラスのファイルには、任意の数のインポート文を含めることができます.これらのインポート文は、パッケージ宣言文の後とクラスの定義文の前にある必要があります.