C#面对对象基础_第1页
C#面对对象基础_第2页
C#面对对象基础_第3页
C#面对对象基础_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面对对象基础篇%1. 类和对象1. 定义类:class program 2. 实例化对象:program pro = new program();类名 对彖名二new类名();%1. 定义类一一字段1. 数据类型:值类型(简单值类型和复合值类型)、引用类型(类、接口、委托、)(1)简单值类型:整数类型,字符类型,浮点类型,布尔类型。(2)复合值类型:结构类型、枚举类型。2. 定义字段:(类型字段名称)intmyint;(定义了一个整型的myint字段)3. 静态字段和实例字段的访问:class programprivate static int i = 0:/字段声明,含有static修饰符,

2、为静态字段private int j = 1;/不含有static修饰符,为实例字段static void main (string匚 args)program a = new program () ;/实例化对象console. writclinc (a, j);/通过对象访问实例字段console. writeline (program, i);/通过类访问静态字段)4. 访问控制:(1). public修饰符一一声明成员是公有的,不限制对该成员的访问。(2).private和protected修饰符私有和保护成员。两种比较类似,因为被它们修饰的成员只能在声明类的内部使用,在其他类会提示错

3、误,但二者也有区别(在继承章节讲)。(3).intcmal修饰符:表示声明的成员是内部的,该成员仅限于同一程序集内部访问。5. 运算符:算术运算符、自增自减运算符、复合赋值运算符、位运算符、sizeof运算符。(1)算术运算符:+*/% (加减乘除余)(2)自增、自减运算符:+ -(加加减减)(3)复合赋值运算符:+二二*= /= %= (ps: varl +二var2表示varl倍赋予了 varl与var2的和)(4)位运算符:&(按位与_自左向右)|(按位或自左向右)人(按位异或自左向右) (按位取反一自右向左)(左移一自左向右)(右移一自左向右)(5)sizeof运算符:用于测量

4、类型长度的运算符,使用格式为一一sizeof(类型名或表达 式)ps: int intsize = sizeof(ine)测量整型可以保保存多少字节的数据。%1. 定义类方法方法是在类中定义的,其中包括了一组在同一名字下的语句,在c#中每个执行指令都 是在方法的上下文中完成的。1. 定义方法访问修饰符 返回值类型(任何数据类型,如无返回值则需写void)方法名(参数)/方法主体语句ps : public void fangfa() 公用的方法,无返回值,且没有参数;ps : private float addgas(int gallons) 私有的方法,返回值为浮点型,有一个整型的参数。2.

5、方法的调用方法的执行,也就表明方法被调用,但是,有的方法属于类,有的方法属于对象,两种 方法的调用是不同的。(1) .类的方法及调用一一类的方法主耍指静态方法。使用了 static修饰符的方法为静态方法, 其声明格式如:static返回类型方法名()/方法主体静态方法不对特定实例进行操作,不与实例相关联,它属于类。静态方法只能访问类中的静 态成员,不能访问非静态成员。ps: class test运行结果:静态方法a()被调用。y=6static int y;static void a()y二6;/在静态方法中访问静态成员console. writclinc(,z静态方法a()被调用。y二0&q

6、uot;, y);static void main0test. a() ;/静态方法通过类名直接访问con sole. readline ();(2) .对象的方法及调用对彖的方法主耍是指非静态方法,未使用static修饰符。非静态 方法属于对象,需要通过实例化的对象来进行访问。ps: class program运行结果:非静态方法被调用。x二5; y二6public int x;public static int y;publ ic void b()非静态方法既可以访问静态成员,也可以访问非静态成员x 二 5;y = 6;class teststatic void hkiiri()progr

7、am pro = new program ();pro. b() ;/通过对象去调用非静态成员console. readlineo ;3方法体的构成(1)局部变量一一方法可以改变对象的状态,改变有时候需要一些中间值,c#语言提供 了局部变量。在方法屮声明的变量称z为局部变量,它是相对于全局变量而言的,“局部”的意思主要是在这个方法中声明的局部变量不能被其他方法调用。ps: int myint = 5;(2)局部变量与字段同名的解决一一this关键字:this.字段名在类方法中,方法的局部变量可能会与类的字段同名。这时候不能直接使用同名的 标识符访问该字段,为解决该问题引入了 this访问方式。

8、在类的方法屮出现的this 作为一个值的类型,它表示对调用该方法的对彖的引用,而静态字段从根本上来说 是属于类的,因此不能用this去访问静态字段。(3)语句:语句声明、块和作用域。(4)全局变量:一一方法中有时候需要用到定义在方法外的变量,为此c#提供了全局 变量,也称外部变量,它是在函数外部定义的变量(class外边)。它不属于哪一 个函数,属于一个源程序文件,其作用域是整个源程序,全局变量的说明符为externo4. 返回值:返回值类型、从方法返回。(1)返回值类型:返回值必须与返回值类型兼容,即耍么是同一类型耍么可以相互转换。ps: static int maino return 0;

9、 /返回值为整型ps: static void maino /返冋值为 void 类型(2)从方法返回:一一方法的执行遇到方法的右大括号方法返回、遇到return语句方法 返回。5. 参数:一一调用方法时,可以给方法传递一个或多个值称为参数。每个方法屮可以有 一个参数也可以有多个参数。每个参数都有一个类型和一个名称,多个参数需要用逗 号分隔开来。ps: static double product (double paraml, double param2) return param1 * param2; (参数类型参数名,参数类型参数名)(1)参数的分类:*1形参一一在定义函数名和函数体的吋候

10、使用形参,目的是用来接收调用该函数吋传递的 参数。ps: public bool tsprime(int x) *2实参一一是在调用时传递给函数的参数。实参可以是变量、表达式或函数,无论实参是 何种类型的量,在进行函数调用吋,它们都必须具有确定的值,以便把这些值传送给形参。 因此应预先用赋值、输入等办法使实参获得确定值。ps: void main () int i = 5, p; p= max(i) ; *3形参与实参的关系一一形参变量只有在被调用时才分配内存单元,在调用结束时即刻释 放所分配的内存单元。因此,形参只有在函数内部才有效,函数调用结束返回主调用函数后 则不能再使用该形参。实参和形

11、参在数量上、类型上、顺序上应严格一致,否则就会发生类型不匹配的错误。(2)引用参数(ref参数)值传递有时候只能改变要处理的变量,而做不到改变用作参数的变量,因此引入一种新 的参数,即引用参数,它属于形参的一种。用ref修饰符声明的参数称为引用参数,使用引 用参数可以改变用作参数的多个变量值。(3)输出参数(out参数)一一 (out参数类型参数名)函数的返回值一般來说只有一个,但是有时候我们需耍返回的值超过了一个,c#为此 有了一种新的参数类型,即输出函数。在函数的实参屮,输出类型的那个参数前必须加out 关键字,在函数使用out参数时,他必须看作是还未赋值的,即使我们已经传递了值给它。 在

12、return语句返回值之前,必须给输出参数赋值,否则也会报错。6. 特殊的方法(1)main方法一一main函数应用程序的入口点,执行这个函数就是执行应用程序。也就 是说,在执行过程开始时,会执行血in()函数,在main()函数执行完毕时执行过程就结束 to main()函数的返回值最终是给系统用的,因此可以返回void或int类型,并且有一个 可 选参数string args。可以使用如下四个 版本: static void main() static void main(string args)static int main()static int main(string args)(2

13、)构造函数一一在c#屮如果要手动设置每个类对彖的实例变量很容易出错,因此出现了 -种更好的实现该任务的方式:构造函数。构造函数用于创建对象吋初始化对象。它与类有 相同的名称,而且在语法上类似于方法,但是,构造函数没有显示的返回值类型。构造函数 会在实例化对象时自动调用已经初始化的实例变量,同时c#自动提供了默认的构造函数, 它将所有的成员变量设置为0 (值类型)、false (bool类型)或null (引用类型)。但是一 旦定义了自己的构造函数,就不再使用默认的构造函数。ps: public类名(参数列表) (3)带参数的构造函数大多数情况下,函数都需要接收一个或多个参数,构造函数也不例外。带参数的构造函数在实例化对象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论