可能性の重複:
Difference between object and instanceC#のオブジェクトとクラスの違いは何ですか?
Iの質問のカップルがあります:
- (抽象クラスを除く)クラスのすべてのインスタンスが対象ですか?
- 抽象クラスはインスタンス化できないため、オブジェクトではありませんか?
C#に関連しているので、上記の概念を理解するのに役立つ人はいませんか?
可能性の重複:
Difference between object and instanceC#のオブジェクトとクラスの違いは何ですか?
Iの質問のカップルがあります:
C#に関連しているので、上記の概念を理解するのに役立つ人はいませんか?
オブジェクトは、クラスのインスタンスです。
クラスはオブジェクトの定義です。インスタンス化されるまで、実際にはオブジェクトにはなりません。抽象クラスはインスタンス化できないため、その型のオブジェクトは作成できません。サブクラスは、オブジェクトを作成するために定義する必要があります。
はい、クラスのインスタンスはすべてオブジェクトです。
クラス(抽象であるかどうかにかかわらず)はオブジェクトではありません。彼らはタイプです。
抽象的であってもクラスはインスタンス化することができますが、それでもオブジェクトではありません。 –
一部の言語では、クラスもオブジェクトであることに注意してください。 –
@ marco-fisetこれは特にC#に関連しているので、ここで他の言語がどのように関連しているかはわかりません。 – jdmdevdotnet
抽象クラスは決してインスタンス化することができないので、決してオブジェクトになることはできません。抽象基本クラスから継承するクラスを作成してインスタンス化すると、抽象クラスのプロパティとその独自のプロパティが設定されます。抽象基本クラスを作成する背後にある目的は、特定の機能を実装するためにクラスを派生させることを強制することです(インターフェイスに似ていますが、あまりありません)。
つまり、インタフェース*は実装されたメソッドを*持つことはできませんが、それだけです。つまり、インタフェースです。 – Gravity
クラスとオブジェクトの概念の違いは何かをより明確に示す共通のアナロジーがあります。
クラスはレシピに似ています。オブジェクトはケーキです。あるレシピから、多くのケーキを作ることができます。レシピにはヒント(抽象的)のみが含まれ、レシピ(実装クラス)を自分で作成してケーキ(オブジェクト)を作成することができます。
クラスはオブジェクトではないので、そのクラスのどのオブジェクトがどのように見えるのかはその説明です。抽象クラスには、この抽象クラスから派生したクラスの実装に役立つメソッドやその他の情報が含まれています。抽象クラスからオブジェクトを作成/インスタンス化することはできません(定義が完全ではないため)。
クラスのすべてのインスタンス(抽象クラスを除く)はオブジェクトですか?
はい。これは "インスタンス"の定義です。
抽象クラスはインスタンス化できないため、オブジェクトではありません。
クラスはインスタンスまたはオブジェクトと同じではありません。オブジェクトはクラスのインスタンスです。動物園のシミュレーションを想像してみてください。オブジェクトは特定のライオンのようなものですが、クラスはライオンの説明のようなものです。抽象クラスは、その説明のみに基づいて何かを構築することが曖昧なもの(例えば、「動物」)の記述です。だからあなたはそれらをインスタンス化できません。動物のようなものは、プログラムが直接要求するにはあまりにも漠然としているかもしれません。代わりに、ライオン、タイガー、またはマングースのようなより具体的なものを要求するだけです。
class Cat {} // It is a cat. Just a cat. Class is a general issue.
myCat = new Cat("red", "5kg", "likes milk", "3 years old"); // It is my cat. It is an object. It is really a cat.
yourCat = new Cat("gary", "3kg", "likes a meal", "5 years old"); // It is your cat. Another cat. Not my cat. It is really a cat too. It is an object;
abstract class Animal {} // Abstract class
animal = new Animal(); // It is not correct. What is 'animal'? Cat, dog, cow? I don't know.
class Dog : Animal {} // It is a class. It is a dog in general.
someDog = new Dog("brown", "10 kg", "likes cats"); // It is really a dog. It is an object.
1.はい(指定#2)および2.はい。 1つの曲線ボールは、基本的にプロセス寿命の間、単一のオブジェクトである静的クラスです。 –
抽象クラスをインタフェースと同等に考えることができます。それらは、デフォルトの実装を提供できるインターフェイスです。 –
関連:http://stackoverflow.com/questions/3323330/difference-between-object-and-instanceおよびhttp://stackoverflow.com/questions/3686647/whats-the-best-way-to-define-the -words-class-and-object-to-someone-who-hasn –