一、C#中类的定义
1、类的定义
class Myclass { }
默认情况下是类是内部的,即外部的项目是不可以访问这个类,相当于加internal来修饰。但实际上是不需要加入的。
如果要指定类是公共的,可以让外部的项目访问的话,应该加上关键字public
public class MyClass { }
2、抽象与密封
我们可以指定类是抽象的(不能实例化),或者是密封的(不能继承)
比如说:
public abstract class MyClass { } public sealed class MyClass { }
3、继承
还可以在类的定义中指定继承,我们使用一个冒号来表示继承
public class MyClass:MyBase { }
PS:在C#的定义中,只能有一个基类,如果继承了一个抽象类,就必须实现所继承的所有抽象成员。(除非派生类也是抽象类)
编译器不允许派生类的可访问性高于基类。
4、接口
(1)接口的继承
与继承类相同,继承接口也是直接紧跟在冒号的后面。但是同时继承了类的话,那么我们就必须把继承的接口放在类的后面,用逗号隔开
如:
public class MyClass:ImyInterface { } public class MyClass:MyBase,ImyInterface { }
而且接口不像类,只能继承一个,接口可以一次性继承很多个,中间以逗号隔开。
(2)接口的定义
Interface IMyInterface
{
}
与类相同,也是默认是内部的接口,如果要成为公共的,加上public关键字即可。
5、一个demo
namespace Exercise { public abstract class myBase { } internal class Myclass:myBase { } public interface IMyBaseInterface { } internal interface IMyBaseInterface2 { } internal interface IMyInterfae:IMyBaseInterface,IMyBaseInterface2 { } internal sealed class MycompLexClass:Myclass,IMyInterfae { } class Program { static void Main(string[] args) { MycompLexClass myobj = new MycompLexClass(); Console.WriteLine(myobj.ToString()); Console.ReadKey(); } } }