C#抽象类是一种特殊的类,它不能被实例化,只能被继承。抽象类可以包含成员变量、方法和属性,但是它们不能有实例变量。
C#抽象类的主要目的是为了提供一个公共的基础,以便子类可以在此基础上进行扩展。它也可以用来限制子类的行为,使得子类必须遵循特定的标准。
C#抽象类中的方法可以有实际的代码,也可以是抽象方法(即无代码体)。如果一个方法是抽象方法,则必须在子类中重写该方法。
public abstract class Animal { public string Name { get; set; } public abstract void MakeSound(); public void PrintName() { Console.WriteLine("Name: " + Name); } }
抽象类是表示抽象概念的特殊类。例如,Integer是一个具体而Number是抽象的。形状是抽象的,而圆形是具体的。
一个声明为abstract的类永远不能被实例化。
只有它的具体子类可以被实例化。
抽象类能够定义抽象成员。
该实现必须由子类提供,除非该子类也声明为abstract:
public abstract class Item {
// Note empty implementation
public abstract decimal NetValue { get; }
}
public class Product : Item {
public long InStoreCount;
public decimal CurrentPrice;
// Override like a virtual method.
public override decimal NetValue {
get {
return CurrentPrice * InStoreCount;
}
}
}
C#继承的成员隐藏继承的成员基类和子类可以定义相同的成员。例如:public class A {public int Counter = 1; } public class B ...
C#GetType和typeofC#中的所有类型都在运行时由System.Type的实例表示。有两种基本方法来获取System.Type对象:在实例上调用Get...
C#ToString ToString 方法返回类型实例的默认文本表示。此方法被所有内置类型覆盖。例子这里有一个使用int类型的ToString方法的...
C#结构体struct类似于类。struct是一个值类型,而一个类是一个引用类型。 结构体不支持继承。结构体隐式地从对象派生,或者更确...
C# for while foreach语句while和do-while循环 while 循环重复执行一组代码,而bool表达式为true。在执行循环体之前测试表达式。...