C#中的类

C#中的类:

一、类的概念 类是具有相同特征的事物的抽象。 

二、类的成员            类的成员包括:      

             (1)数据成员。(亦可称作类的属性)                   (2)成员函数。(亦可称作类的方法) 

三、对象 类的一个实例称作对象。必须具体到某一对象时候,才能谈它的属性和方法。

void main()               

   {        

                  Human human1()=new Human() ; 

                       human1.name="张三" ;  

                       human1.age="18" ;    

                       human1.height=175 ;           

                       human1.weight=68 ;                  

                       human1.eat() ;

                       human1.sleep() ; 

                       human1.work() ;      

            } 

四、构造函数和析够函数

类中有两种比较特殊的函数:

  (1)  构造函数  构造函数在创建对象时被自动调用,用来执行对象的初始化操作。构造函数名总是和类名相同。        

(2)析构函数  析构函数在释放对象时被调用,用来在删除对象前做一些清理工作。  

五、面向对象编程的特点:

(1)代码的模块化 程序代码的模块化使得程序结构清晰,层次分明。

(2)代码的可重用性(亦称作复用性)方便了代码的横向(项目之间)和纵向(不同时期)移植,减少了开发人员的工作量,提高了开发效率。

(3)继承 面向对象编程过程中,子类(派生类) 可以继承父类(基类)的所有属性和方法。这有些类似于生物科学上的遗传性。我们常说有其父必有其子,说的是儿子继承了父亲的某些特征和秉性。              

下面的例子演示了子类是如何继承父类的属性和方法的:    

Using System ;             

public class Parent                                                        //定义父类             

{                  

  public Parent()                                                         //父类的构造函数                

    {                          

Console.WriteLine("构造父类\n") ;               

     }               

     public void say()                                                          //父类的方法                   

{                         

  Console.WriteLine("调用父类的函数\n") ;                 

   }             

  }                        

public class Child:Parent                                            //定义子类              

{                       

public child()                                                     //子类的构造函数                       

{                            

   Console.WriteLine("构造子类\n") ;                    

    }            

     }               

  public static void Main()             

    {                      

Child a=new Child() ;

a.say() ;                                                                 //继承父类的方法                 

}

程序编译运行后的结果如下:                   构造父类                   构造子类                   调用父类函数            (

4)重载              C#类中允许存在同名的函数。在对象被创建后,这个对象调用的是这些同名函数的哪一个,要看调用时加载的函数参数的个数和类型而定。这就是我们常说的重载。           

(5)多态             

多态性是指派生类可以重载基类定义的虚函数。虚函数就是有virtual修饰的、在基类中没有具体实现的函数。             

当基类使用虚函数时,派生类有多种实现该函数的方法。      

Using System ;          

   public Class Parent                                                         //父类           

{                 

public Parent()                 

{                      

Console.WriteLine("构造父类\n") ;                     //父类的构造函数                

  }                 

public virtual void say()                                            //使用关键字virtual定义虚函数       

           {                          ...                  }          

    }          

   public class Child1:Parent                                           //子类Child1                              

       {                 

public Child1()                                                        //子类Child1的构造函数                

{                        

Console.WriteLine("构造函数\n") ;                                           

}                 

public override void say()               

  {                     

   Console.WriteLine("这是子类1重载的的虚函数\n") ;    //使用关键字override来实现

                                                                                      //虚函数的重载                  }        

    }                   

      public static void Main()            

  {                   

Child1 child1=new Child1() ;                                              //调用父类的虚函数                   

child1.say() ;          

程序编译运行的结果如下:            构造父类            构造子类           

这是子类1重载的虚函数say()     

abstract:标识一个可以扩展但不能被实体化得、必须被实现得类或方法;

as:一个转换操作符,如果转化失败,就返回null;

base:用于访问被派生类或构造中得同名成员隐藏的基类成员;

bool:表示布尔值的简单类型;

break:用于从loop或switch语句中推出得跳转语句;

byte:表示8位长度无符号整数的简单类型;

case:指定在switch语句中的一个标签。如果标签中指定的常量与switch表达式的值匹配,则与标签关联的语句就被执行;

catch:定义一个代码块,在特定类型异常抛出时,执行块内代码。参加try和finally;

char:表示16位Unicode字符的简单类型;

checked:既是操作符又是语句。确保编译器和运行时检查整数类型操作或转换时出现的溢出;

class:指明一个声明得类类型声明;

const:标识一个可在编译时计算出来的变量值,即一经指派不可修改得值;

continue:用于返回循环顶部的跳转语句;

decimal:表示128位高精度十进制数的简单类型;

default:在switch语句中,指定一组语句,如果前面没有匹配得case子句,就执行这些语句;

delegate:指定一个声明为一种委托类型。委托把方法封装为可调用实体,能在委托实体中调用;

do:一个条件语句,无论条件是否满足,都执行至少一次;

double:表示64位双精度浮点值得简单类型;

else:if条件语句的一部分,如果条件不为真则执行else后面的语句。

enum:表示一个已命名常量群集得值类型;

event:允许一个类或对象提供通知得成员,它必须是委托类型;

explicit:一个定义用户自定义转换操作符的操作符,通常用来将内建类型转换为用户定义类型或反向操作。必须在转换时调用显式转换操作符;

extern:标识一个将在外部(通常不是C#语言)实现的方法;

false:一个布尔字面值;

finally:定义一个代码块,在程序控制离开try代码块后执行。参见try和catch关键字;

fixed:在一个代码块执行时,在固定内存位置为一个变量指派一个指针;

float:表示32位单精度浮点值得简单类型;

for:定义一个循环语句,只要指定条件满足就继续执行;

foreach:用于遍历一个群集的元素;

goto:一个跳转语句,将程序执行重定向到一个标签语句;

if:一个条件语句,根据一个布尔表达式的值选择一个语句执行;

implicit:一个操作符,定义一个用户定义的转换操作符。通常用来将预定义类型转换为用户定义类型或反向操作。隐式转换操作符必须在转换时使用;

in:foreach语句遍历语法的一部分,被放在变量名与要遍历的群集之间;

int:表示32位带符号整数值的简单类型;

interface:将一个声明指定为接口类型,即实现类或构造必须遵循的合同;

internal:一个访问修饰符。内部代码元素只可由同一装配件内的其他类型访问。装配件可以是DDL或EXE文件;

is:比较两个对象类型得比较操作符;

lock:用在多线程程序中,为变量设置一个互斥锁(mutex);

long:表示64位带符号整数值的简单类型;

namespace:定义一个逻辑组的类型和命名空间;

new:用于调用构造器的操作符。同时,也是一个修饰符,用来隐藏而非重载拥有同样签名得一个继承方法;

null:表示引用类型中等同于0的字面值;

object:一个预定义引用类型,表示所有引用类型得终极基类。也是预定义类型System.Object的别名;

operator:用来声明或多载一个操作符;

out:标识一个参数值会受影响得参数,但在传入方法时,该参数无需先初始化;

override:一个修饰符,表明一个方法将覆载一个虚方法或抽象方法,或一个操作符将覆载基类中定义的同名操作符;

params:声明一个参数数组。如果使用,必须修改指定的最后一个参数。允许可选参数;

private:一个访问修饰符。私有成员只能在定义该成员得类型内部访问;

protected:一个访问修饰符。保护成员只能在定义该成员得类型或派生类型中的访问;

public:一个访问修饰符。公有成员可以在定义该成员得类或命名空间内外自由访问;

readonly:标识一个变量的值在初始化后不可修改;

ref:标识一个参数值可能会受影响的参数;

return:一个用于跳出方法的跳转语句。执行返回到方法调用者;

sbyte:表示8位带符号整数的简单类型;

sealed:防止类型被派生,防止方法和property被覆载;

short:表示16位带符号整数值的简单类型;

sizeof:一个操作符,以byte为单位返回一个值类型的长度;

stackalloc:返回在堆上分配的一个内存块的指针;

static:静态成员与它在其中被声明得类型相关联,而不是与类型得实体相关联;

string:一个表示Unicode字符串得预定义引用类型。是System.String预定义类型的别名;

struct:是一种值类型,可以声明常量、字段、方法、property、索引器、操作符、构造器和内嵌类型;

switch:一个选择语句,它执行与表达式匹配标签相关联的语句列表;

this:引用一个类型的当前实体; throw:导致抛出一个异常;

true:一个布尔字面值;

try:异常处理代码块得组成部分之一。try代码块包括可能会抛出异常的代码。参阅catch和finally关键字;

typeof:一个操作符,返回传入参数的类型;

uint:表示32位无符号整数值的简单类型;

ulong:表示64位无符号整数值的简单类型;

unchecked:禁止溢出检查;

unsafe:标注包含指针操作得代码块、方法或类;

ushort:表示16位无符号整数值的简单类型;

using:当用于命名空间时,using关键字允许访问该命名空间中的类型,而无需指定其全名。也用于定义finalization操作的范围;

virtual:一个方法修饰符,标识可被覆载的方法;

void:无返回值方法的返回类型;

volatile:标识一个可被操作系统、某些硬件设备或并发线程修饰的attribute;

while:while条件语句根据条件执行一个语句零次或多次。do语句中的while部分指定循环中止条件。 

posted on 2013-03-11 11:37  roissy li  阅读(212)  评论(0编辑  收藏  举报

导航