首页 > 代码库 > C#学习笔记(七)——定义类

C#学习笔记(七)——定义类

一、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();        }    }}

C#学习笔记(七)——定义类