不能调用非静态成员

时间:2021-10-12 06:29:20

一:面向东西的根基常识

C#措施分为面向过程和面向东西

什么是东西:一切皆为东西:Object,生活中常说的“对象”就是措施里面所指的东西;生活中遇到的对象我们都不才意识的归类;归类意味着抽象模型;

类:class,对某类众多东西的配合特点抽象出来的模型。

他们的关系:类是好多东西的抽象,东西是类的实例化。

创建一个名为Dog的类:

 

 

class Dog //一般首字母大写 { int age; public void setage(int a) //用要领赋值 { age = a; } public void buck() { Console.WriteLine("这是一个要领"); } }

 

 

类中一般包孕两类对象,变量(名词,也交成员变量这里age是成员变量)和函数(动词,也叫成员函数或成员要领 buck()就是要领)。

东西实例化:

Dog d1 = new Dog();

这样就实例化出了一个Dog的东西a。

例子:两个套在一起的圆,求内圆的周长和内圆与外圆之间的面积,用面向东西的思想做

 

class circle { float r; public circle(float a) { r = a; } public double zhouchang() { return 2 * 3.14 * r; } public double mianji() { return 3.14 * r * r; } } class Program { static void Main(string[] args) { circle m = new circle(10); circle n = new circle(20); double bc = m.zhouchang(); double mj = (n.mianji()-m.mianji()); Console.WriteLine("内圆的周长为:"+bc); Console.WriteLine("花砖的面积为:"+mj); } }

 

首先做了一个名为circle的类,它可以出产任何一个半径差此外圆,在结构函数中,为半径赋值。

二:面向东西的三大特性

三大特性是指:封装,担任,多态。

类中的要领一般分为:结构要领(函数);属性要领(函数):成员变量赋值取值;行为要领(函数):变量运算。

(一): 封装

1.封装含义:

(1)差别类的变量只属于各自的类。

(2)差别东西的成员变量只属于各自的东西,相互不受影响。

(3)东西中的变量需要通过要领(函数)实现操纵,对照安适。

封装为了安适,尽量不用public来声明变量,制止在main函数中可以直接访谒赋值而降低了安适性,在类中成立public的要领来赋值,main中挪用此要领传值。

2. 成员变量及访谒修饰

private 私有成员 ,protected 受掩护的成员,public 公有成员

3. 结构函数

它是一个特殊的成员函数,一般在结构函数里进行初始化。如果不写结构函数在new的时候会自动生成一个默认空的结构函数。

写法特殊:没有返回值,函数名只能与类名一样;public 类名(){};

执行特殊:类在实例化(new出来的时候)自动执行,结构函数是最早执行的成员函数,结构函数是用来生成东西的函数。

它的主要感化:东西实例化生成的时候,做一些初始化的事情。

下面例子就是做了一个Ren()的结构函数,为其变量赋上初始化的值:

 

class Ren { string _Name; int _Age; public Ren() { _Name = "龙神"; _Age = 25; } }

4. 重载(函数或要领)

函数名不异,参数差别(参数个数或类型差别)的多个函数就形成了重载。

重载只与函数名和形参有关,与返回类型无关。

下面举个例子,结构函数的重载:

 

class Ren() { string _Name; int _Age; public Ren() { _Name = "ZSMJ"; _Age = 25; } public Ren(string name) { _Name = name; } public Ren(string name,int age) { _Name = name; _Age = age; } }