私はクラスのヘッダーを持っている:コロンはどういう意味ですか?
public class Person : Human
:
は何を意味するのでしょうか?
Javaの拡張のようなものですか?そして私はそれを必要としますか?
私はクラスのヘッダーを持っている:コロンはどういう意味ですか?
public class Person : Human
:
は何を意味するのでしょうか?
Javaの拡張のようなものですか?そして私はそれを必要としますか?
「:」は、それをjavaと比較する場合は「拡張」を意味します。 すべてのクラスはデフォルトでオブジェクトを拡張します。 あなたはクラスを拡張する必要があります、私はあなたがすでに拡張が何であるかを知っていると仮定しています。
また、インターフェイスの "実装"を意味する場合もあります。 – parachutingturtle
c++のように、コロン演算子(:
)を使用してクラスを拡張します。つまり、Person
は特定の種類のHuman
です。 Human
(メソッドの引数として渡されるなど)に関連する任意のコンテキストに参加できますが、具体的な動作(つまり、Human
のメソッドの一部をオーバーライドするか、新しいメソッドを追加する可能性があります)があります。
':'演算子は、スーパークラス(Javaの同義語と 'extends'キーワード)から継承するために使用されます。
なぜ継承が必要ですか - 私たちの周りの世界の関係をモデル化するのは本当に強力な概念です。技術的には、サブクラスはより具体的な傾向があり、スーパークラスはより一般化されています。 たとえば、Student : Person
を考えてみてください。ここで、Studentはサブクラスであり、Personはスーパークラスです。
class Person
{
public string name;
}
class Student : Person
{
public string id;
}
これは、「すべての生徒」も「人」であり、生徒は本質的に「名前」を属性として持つことになります。しかし、すべての人は学生である必要はなく、暗黙のうちに「ID」を持たないでしょう。
この場合、コロン演算子は、クラス名 "Person"を基本クラス "Human"から分離しています。コロンは継承を意味するので、あなたは正しいです!人は人間のフィールド/メソッドを継承します。 Personに他のメソッドを追加して追加の機能を提供することもできます。ここで
はコロン演算子で使用可能な他の機能と同様のポストです:In C# what category does the colon " : " fall into, and what does it really mean?
すでに私はそれはとても基本的な質問だと信じて回答されていると、あなたがチェックすることができる何かを依頼するのStackOverflowに来てはならないもののMSDNで... –