欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    面向对象编程基础0000.ppt

    • 资源ID:2603336       资源大小:314.01KB        全文页数:27页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象编程基础0000.ppt

    面向对象的编程基础,4.1 类 4.2 结构 4.3 方法 4.4 属性与索引器,4.1 类,类与对象 类:一组具有相同数据结构和相同操作的对象的集合。 例如:汽车 对象(实例):类的实例化 。例如:卡车 注意:要使用对象,必须先定义类,然后再创建对象。 对象的生存周期 对象在建立时分配了内存,创建对象实际上作了两个方面的工作: (1)使用new保留字要求系统分配内存; (2)使用构造函数初始化数据。 销毁对象也是做了两个方面的工作: (1)释放占用的内存; (2)将分配给对象的内存归还给堆(Heap)。,4.1 类的组织,1.类的声明 用class定义类,声明类的形式为: 附加声明 访问修饰符 class 类名称:基类 ,接口序列 字段声明 构造函数 方法 事件 ,注意:中的内容可省或任选其一,当两者都有时,先基类后接口,4.1 类的组织(续),public class Child private int age; private string name; / 不带参数的构造函数 public Child() name = “none“; / 带参数的构造函数 public Child(string name, int age) ,如果不指明,则 默认为private,4.1 类的组织(续),this.name = name; this.age = age; / 输出方法 public void PrintChild() Console.WriteLine(“0, 1 years old.“, name, age); public class Program ,4.1 类的组织(续),public static void Main() /使用new关键字创建对象,new后是调用的构造函数 Child child1 = new Child(“Zhang San“, 11); Child child2 = new Child(“Li Si“, 10); Child child3 = new Child(); / 显示结果 Console.Write(“Child #1: “); child1.PrintChild(); Console.Write(“Child #2: “); child2.PrintChild(); Console.Write(“Child #3: “); child3.PrintChild();,4.1 类的组织(续),Console.ReadLine(); 输出结果: Child #1: Zhang San, 11 years old. Child #2: Li Si, 10 years old. Child #3: none, 0 years old.,4.1.2 构造函数,作用:构造函数是一个特殊的方法,用于在建立对象时 进行初始化的动作。 好处:确保每一个对象在被使用之前都适当地进行了初始化的动作。 构造函数特点: 1) 每个类至少有一个构造函数。若程序代码中没有构造函数则系统会自动提供一个默认的构造函数。 2) 一个构造函数总是和它的类名相同。 3) 构造函数不包含任何返回值。 4) 构造函数总是public的。 一般在构造函数中作初始化工作,对于执行过程用时比较长的程序代码,最好不要放在构造函数中。,4.1.2 构造函数(续),1、默认构造函数 (1)如果在类中不定义构造函数,系统会提供一个默认的构造函数。 (2)默认构造函数没有参数。 (3)默认构造函数自动将非静态成员初始化为: 数值型:如int、double等,初始化为0。 bool类型:初始化为false. 引用类型:初始化为null。 (4)如果自己定义了类的构造函数,则所有初始化工作由编程者自己完成。,4.1.2 构造函数(续),2. 重载构造函数 有时候可能会遇到这样的情况:在一个类中的多个方法中都要用到某一个数据成员,而该成员值必须从其他类中传递过来。这时,无参数的构造函数就不能胜任了,解决这个问题最好的办法就是:重载(Overloading)构造函数。,4.1.2 构造函数(续),using System; using System.Collections.Generic; using System.Text; namespace OverloadingExample class Program public Program() Console.WriteLine(“null“); ,4.1.2 构造函数(续),public Program(string str) Console.WriteLine(str); static void Main() Program aa = new Program(); Program bb = new Program(“How are you!“); Console.ReadLine(); ,4.1.3 字段和局部变量,字段:指声明为类一级的对象或值类型的变量。 局部变量:指在方法、事件以及构造函数内声明的变量。 public class Program public static int j=20; /字段 public static void Main() int j=30; /局部变量 Console.WriteLine(j); /输出结果:30 Console.WriteLine(Program.j); /输出结果:20 Console.ReadLine(); ,4.1.3 字段和局部变量,当字段和局部变量名相同时,如果要引用静态字段,可以使用下面的形式: 类名.字段名 如果是实例字段,则使用下面的形式: this.字段名 这里的this指当前实例。 当然,如果没有出现字段和局部变量名重名的情况,引用字段的形式和引用局部变量的形式相同。,4.1.4 静态成员与实例成员,类的成员包括字段、属性、构造函数、方法、事件、索引、嵌套类。 类的成员分静态成员和实例成员 静态成员在内存中只有一份 静态成员要等到应用程序结束时才会退出内存。 把只有创建了类的实例才能够使用的成员叫实例成员。,4.1.5 访问修饰符,C#中有以下成员访问修饰符: Public (常用)任何外部的类都可以不受限制的存取这个类的方法和数据成员。 private (常用)类中的所有方法和数据成员只能在此类中使用,外部无法存取。(默认) Protected 除了让本身的类可以使用之外,任何继承自此类的子类都可以存取。 Internal 在当前项目中都可以存取。该访问权限一般用于基于组件的开发,因为它可以使组件以私有方式工作,而该项目外的其它代码无法访问。 Protected internal 只限于当前项目,或者从该项目的类继承的类才可以存取。 Partial 局部类型,类的定义和实现可以分布在多个文件中,但都要使用partial标注,基类只需要声明一次,若多次声明则必须完全一致。,4.2 结构,结构(struct)是由一系列相关的、但类型不一定相同的变量组织在一起而构成的数据表示形式,所有结构类型都隐式地从类型object继承。 例如:public struct Point public int x; public int y; 结构和类的区别与联系: 结构类型是值类型,类类型是引用类型。 凡是定义为结构的,都可以用类来定义。 创建轻量级对象时,可以使用结构。,4.3 方法,方法(Method)是一组程序代码的集合,每个方法都有一个方法名,便于识别和让其他方法调用。 1. 方法的定义与使用 (1)方法必须放在某个类中。 (2)定义方法的语法形式为: 访问修饰符 返回值类型 方法名称(参数序列) 语句序列 ,4.3 方法(续),定义方法时,需要注意以下几点: 方法名不能和变量、常数或者任何声明在类中其它的成员相同。 方法可以有参数,也可以没有参数,但是不论是否有参数,小括号都是必需的。如果参数序列中的参数有多个,则以逗号分开。 结束某个方法的执行,可以使用return语句,程序遇到return语句后,会将执行流程交还给调用此方法的程序代码段。此外,还可以用return语句返回一个值。 如果声明一个非void类型的方法,则方法中必须至少有一个return语句。,4.3 方法(续),using System; class Program public int MyMethod() Console.WriteLine(“this is MyMethod.“); int i = 10; return i; static void Main() Program method = new Program(); int j = 5; j = method.MyMethod(); Console.WriteLine(“the value is 0.“, j); ,4.3 方法,2. 方法中的参数传递 1) 传递值类型的参数 值类型参数的格式为: 参数类型 参数名 class Program public static void AddOne(int a)a+; static void Main() int a = 3; Console.WriteLine(“调用AddOne之前,a=0“, a); AddOne(a); Console.WriteLine(“调用AddOne之后,a=0“, a); Console.ReadLine(); ,4.3 方法(续),2) 传递引用类型的参数 引用类型参数的格式为: ref 参数类型 参数 class Program public static void AddOne(ref int a)a+; static void Main() int a = 3; Console.WriteLine(“调用AddOne之前,a=0“, a); AddOne(ref a); Console.WriteLine(“调用AddOne之后,a=0“, a); Console.ReadLine(); ,4.3 方法(续),3) 输出多个引用类型的参数 输出引用类型参数的格式为: out 参数类型 参数名 class Program public static void MyMethod(out int a, out int b) a = 5; b = 6; static void Main() int x, y; MyMethod(out x, out y); Console.WriteLine(“调用MyMethod之后,x=0,y=1“, x, y); Console.ReadLine(); ,4.3 方法(续),4) 传递个数不确定的参数 需要传递的参数个数不确定时,可以采用params关键字,其后一般跟一个数组。 class Program public static float Average(params long v) long total, i; for (i = 0, total = 0; i v.Length; +i) total += vi; return (float)total / v.Length; ,4.3 方法(续),static void Main() float x = Average(1, 2, 3, 5); Console.WriteLine(“1、2、3、5的平均值为0“, x); x = Average(4, 5, 6, 7, 8); Console.WriteLine(“4、5、6、7、8的平均值为0“, x); Console.ReadLine(); ,4.3 方法(续),3. 方法重载 方法重载是指具有相同的方法名,但参数类型或参数个数 不完全相同的多个方法可以同时出现在一个类中。 using System; class Program public static int Add(int i, int j) return i + j; public static string Add(string s1, string s2) return s1 + s2; public static long Add(long x) return x + 5;,4.3 方法(续),static void Main() Console.WriteLine(Add(1, 2); Console.WriteLine(Add(“1“, “2“); Console.WriteLine(Add(10); /按回车键结束 Console.ReadLine(); ,

    注意事项

    本文(面向对象编程基础0000.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开