C#学习小知识点·

1.函数中static的用法

一个静态方法属于类本身,而不属于那个类的一个对象。要想调用一个被定义为static的方法,必须在他前面加上这个类的名称。

想要调用一个没有被定义为static的方法,必须在他前面加上一个对象(在其中定义哪个方法的一实例)的名

这种区别也适用于类中的数据成员。如:数据类型的MinValue与MaxValue都是静态字段

一个静态方法不能调用类中的任何非静态方法,也不能使用任何非静态字段。那是因为非静态字段对类的不同实例是不同的,并且非静态方法对类的不同实例返回不同的值。


2.获取和设置属性

如何在C#中使用get及set方法定义属性

1、属性的定义:定义一个public变量,在这个变量中含有get/set方法,即为属性。

2、定义属性的作用,可以保护变量,在使用属性时,可以通过其setget方法对属性值进行检测,保证值合法。

3、下文举例说明属性的定义方法。

namespace Program

{

class person

{

    private int  age;

    public int  Age;

    {

       get { return  age;}

       set { age = value;}

    }

}

}

a)上例中,为私有字段age定义名为Age的公有属性,一般字段用小写,且必须是私有的,属性名和字段名相同,首字母大写,且必须是公有的;

b)当对属性Age赋值时,会自动调用set方法,当对Age进行取值时,会自动调用get方法;

c);当用户赋值或取值时,可以在setget方法中进行检测,保证赋的值或取的值绝对合法;如若要求age>=0,则可在以上的set方法中添加以下检测:

set

     If  ( value > 0 )

{

    age = value;

}

else

{

    age = 0;

}

d)当不对属性值进行任何处理,则直接在get{}和set{}中对字段进行赋值和取值,此时,可使用快捷方式生成属性,即,光标置于需要定义属性的字段,右键--->重构--->封装,则自动生成属性。

注意:允许外部访问的变量一定要声明为属性。

 属性可分为:可读写、只读、只写三种类型,其中,可读写既有set方法,又有get方法;只读只有get方法;只写只有set方法。

 get存取程序总是包含一个return语句,他向使用该属性的程序返回一个值


 类中的变量默认为private型


也可以将一些简单的方法改成变量形式,例子:

public int DayOfYear   //将DayOfYear 定义为只读属性

{

  get

  {

    return XXXX;

  }

}

3.继承时的构造函数

 当子类使用的是默认构造函数时,不需要显示的定义。因为他所有的父类都使用默认构造函数。

非默认构造函数还需要显示的调用基类中的构造函数。

class DatePlus(int year,int month ,int day):base(year,month,day)


4.重载操作符

public static int operator - (DatePlus date1,DatePlus date2)

{

   return date1.DaysSince1600-date2.DaysSince1600;

}

重载运算符(-)

5.virtual与override

被定义为virtual的方法的目地是被从这个类派生的类覆盖。一个覆盖虚方法的方法使用override修饰符致命他想要使用自己的版本替换一个方法。override修饰符是必须的,这样就不会在违背自己意愿的情况下意外覆盖一个虚方法。


类也可以覆盖一个没有被定义为virtual的方法,在这种情况下,新方法必须包含修饰符new



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值