C#学习笔记-定义类成员

 


10.1 成员定义


·public--成员可以由任何代码访问。

·private-成员只能由类中的代码访问(如果没有使用任何关键字,就默认使用这个关键字)

·internal--成员只能由定义它的项目(程序集)内部的代码访问。

·protected-成员只能由类或派生类中的代码访问。



10.1.1 定义字段


class MyClass

{

    public int myInt;

}


字段也可以使用关键字readonly,表示这个字段只能在执行构造函数的过程中赋值,或由初始化赋值语句赋值。例如:

class MyClass

{

    public readonly int MyInt = 17;

}

也可以用static关键字 声明为静态

class MyClass

{

     public static int MyInt;

}


10.1.2  定义属性

属性拥有两个类似于函数的块,一个块用于获取属性的值(get),另一个块用于设置属性的值(set)。



// 命名规范--属性  PascalCasing

public int MyIntProp

{

    get

    {

          //Property get code.

     }

    set 

    {

         //property set code.

    }

}

get块必须有一个属性类型的返回值,简单的属性一般与私有字段相关联,以控制对这个字段的访问,此时get块可以直接返回该字段的值,例如:


//Field used by property

private int myInt;


//Property

public int MyInt Prop

{

      get

      {

          return myInt;

       }

       set

       {

                 //Property set code.

       }

}

    注意:类外部的代码必须使用属性来访问字段。set函数以类似的方式以类似的方式把一个值赋给字段。


//Filed used by property.

private int myInt;


//Property.

public int MyIntProp

{

    get

    {

            return myInt;

     }

     set

     {

          myInt = value;

      }

}

 


属性可以使用virtual,overrideabstract关键字。



10.1.3 定义方法


//命名规范-方法 PascalCasing

class MyClass

{

    public string Getsring ()

    {

           return "here is a string.";

     }

}


     

关键字

·virtual---方法可以重写

·abstract--方法必须在非抽象的派生类中重写(只用于抽象类中)。

·override--方法重写了一个基类方法(如果方法被重写,就必须使用该关键字)。

·extern--方法定义放在其他地方


下面的代码时方法重写的一个示例:


public class MyBaseClass

{

   public virtual void  DoSomething()

    {

        //Base implementation

     }

}


public class MyDerivedClass: MyBaseClass


       public overrive void DoSomething()

      {

             //Derived class implementation,override base implemenatation.

       }

}



  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值