C#の抽象クラスとは何ですか?
抽象クラスには、派生クラスによって実装される抽象メソッドが含まれています。派生クラスには、より特殊な機能があります。
以下は、C#での抽象クラスの使用法を示す例です。
例
using System;
namespace Demo {
abstract class Shape {
public abstract int area();
}
class Rectangle: Shape {
private int length;
private int width;
public Rectangle( int a = 0, int b = 0) {
length = a;
width = b;
Console.WriteLine("Length of Rectangle: "+length);
Console.WriteLine("Width of Rectangle: "+width);
}
public override int area () {
return (width * length);
}
}
class RectangleTester {
static void Main(string[] args) {
Rectangle r = new Rectangle(14, 8);
double a = r.area();
Console.WriteLine("Area: {0}",a);
Console.ReadKey();
}
}
} 出力
Length of Rectangle: 14 Width of Rectangle: 8 Area: 112
上記の抽象クラスは-
ですabstract class Shape {
public abstract int area();
} 抽象クラスに関するルールは次のとおりです。
- 抽象クラスのインスタンスを作成することはできません
- 抽象クラスの外部で抽象メソッドを宣言することはできません
- クラスが封印されていると宣言されている場合、そのクラスは継承できず、抽象クラスは封印されていると宣言できません。
-
Pythonのメタクラスとは何ですか?
メタクラスは、インスタンスとしてクラスを持つクラスです。 「通常の」クラスがクラスのインスタンスの動作を定義するように、メタクラスもそのクラスとそのインスタンスの動作を定義します。 メタクラスはPythonでサポートされています。一部のプログラマーは、Pythonのメタクラスを「問題を待っているまたは探しているソリューション」と見なしています。 メタクラスには多数のアプリケーションがあります。それらのいくつかは-です ロギングとプロファイリング; インターフェイスチェック; 作成時にクラスを登録する; 新しいメソッドを自動的に追加します; 自動プロパティ作成;
-
Pythonの基本オーバーロードメソッドとは何ですか?
Pythonクラスは、オブジェクト指向プログラミングパラダイムのすべての標準機能を提供します。クラス継承メカニズムにより、複数の基本クラスが可能になります。派生クラスは、その基本クラスの任意のメソッドをオーバーライドでき、メソッドは同じ名前の基本クラスのメソッドを呼び出すことができます。