C#入门经典第九章定义类-1

1.C#中使用class关键字来定义类

class MyClass

{

  //代码部分

}

定义了类之后,就可以在项目中能访问该定义的其他位置对该类进行实例化。默认情况下,类的声明是内部的,即只有当前项目中的代码可以访问它。可以使用internal访问修饰符关键字来显式指定,如下所示(但这是不必要的);

internal class MyClass

{

//代码部分

}

public class MyClass//指定类是公共的,可以由其他项目中的代码访问。使用关键字:public

{

//代码部分

}

除了以上两个访问修饰符关键字外,还可以指定类是抽象的(不能实例化,只能继承,可以有抽象成员)或密闭的(sealed,不能继承)。为此,可以使用两个互斥的关键字abstract或sealed。所以,抽象类必须使用下述方式声明:

 public abstract  class MyClass //公共抽象类
 {
        //代码部分
    }

  public sealed class MyClass
    {
    }

也可以在类中指定继承。方法:是在类名后加上一个冒号,其后是基类名

如: public class MyClass:MyBase

  {

  }

注意:在C#的类定义中,只能有一个基类,如果继承了一个抽象类,就必须实现所继承的所有抽象成员(除非派生类也是抽象的)。

编译器不允许派生出来的访问性高于基类,也就是说,内部类可以继承一个公共基类,但是公共类不能继承一个内部类。所以下面代码是合法的。

public class Mybase

{

}

internal class MyClass:MyBase

{

}

但是下述代码不可编译:

internal class Mybase

{

}

public class MyClass:MyBase

{

}

除了以这种方式指定积累外,还可以在冒号之后指定支持的接口。如果指定了基类,它必须紧跟在冒号后面,之后才是指定的接口。若没有指定基类,则接口就跟在冒号的后面。必须使用逗号分隔基类名(如果有基类)和接口名。

添加接口,如下所示:

public class MyClass :IMyInterface

{

}

所有的接口成员都必须在支持该接口的类中实现,但如不想使用给定的接口成员,就可以提供一个“空”的实现方式(没有函数代码)。还可以把接口成员实现为抽象类中的抽象成员。

public class MyClass:MyBase,IMyInterface

{

}

也可以多个接口,中间有逗号分隔。

接口的定义:

使用interface关键字。如下:

interface IMyInterface

{

}

9.3构造函数和析构函数

  class MyClass()
        {
            public MyClass()
            {
                //代码
             }
            public MyClass (int myint)
            {
                //代码
            }
        }

OOP工具

 

posted @ 2013-07-14 13:54  秋水惜朝  阅读(215)  评论(0编辑  收藏  举报