C进阶01面向对象基础.pptVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#语言进阶 ——面向对象基础 类和实例 类:就是具有相同属性和功能的对象的抽象的集合。 实例:就是一个真实的对象。 实例化:就是创建对象的过程,用关键字new来创建。 Rect myRect = new Rect(0,0,100,20); 构造方法 构造方法,又叫构造函数,其实就是对类进行初始化。构造方法与类同名,无返回值,也不需要void,在new时候调用。 在类创建时,就是调用构造方法的时候。 所有类都有构造方法,如果不编码系统会默认生成空的构造方法。若有定义的构造方法则默认的失效。 方法重载 方法重载时,方法名必须相同,但参数类型或个数不同。 方法重载的好处:可在不改变原方法的基础上新增功能。 字段与属性 字段:是存储类要满足其设计所需要的数据,字段是与类相关的变量。它都是私有的类变量。 属性:是一个方法或一对儿方法,但在调用它的代码看来,它是一个字段。它都是公有的变量。 属性有两个方法get和set。get表示外界调用时可以得到内部字段的值。set表示外界调用时可以给内部字段的值赋值。 属性的作用:更好地控制对外公开的数据。 面向对象的三大特性(一)——封装 每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装(即get{;}set{;}访问器)。因此对象不必依赖其它对象来完成自己的操作。这样方法和属性包装在类中,通过类的实例来实现。 封装的好处: 1、良好的封装能够减少耦合。 2、类内部的实现可以自由修改。 3、类具有清晰的对外接口。 面向对象的三大特性(二)——继承 实现派生自一个父类(基类)的子类(派生类)语法如下: class DerivedClass:BaseClass{ //... } 如果类或结构也派生自接口,则用逗号分隔基类和接口,语法如下: class DerivedClass:BaseClass,IInterface1,IInterface2{ //... } 虚方法 virtual:用于修饰方法、属性、索引器、或事件声明,并且允许在派生类中重写这些对象。 基类: class BaseClass{ public virtual string VirtualMethod(){ return 这是基类的方法!; } } override:重写虚方法,将从父类继承的虚方法重写覆盖。 派生类: class DerivedClass:BaseClass{ public override string VirtualMethod(){ return 这是派生类的方法!; } } 隐藏方法 如果签名相同的方法在基类和派生类都进行了声明,但是该方法没有分别声明为virtual和override,派生器就会隐藏基类方法,要使用new关键字进行声明。 基类: class BaseClass{ public void Method(){ } } 派生类: class DerivedClass:BaseClass{ public new void Method(){ } } 注:签名相同即方法名,返回值类型及参数都相同的方法。 this和base关键字 this可以访问当前类中定义的属性和方法,虽然有无this都可以访问,但是有this可以让编辑器给出提示。另外,当方法的参数和字段重名的时候,使用this可以表示访问的是类中的字段。 base可以调用父类的成员方法,除了构造函数和析构函数,派生类将隐式的继承了直接基类的所有成员。也可以显示的调用父类的构造函数来构造子类的成员数据。 面向对象的三大特性(三)——多态 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行效果。多态性通过派生类覆写基类中的虚函数型方法来实现。 多态性分为两种: 1、编译时的多态性:编译时的多态性是通过重载来实现的,对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。 2、运行时的多态性:运行时的多态性就是指直到系统运行时,才根据实际情况实现何种操作。C#中运行时的多态性是通过覆写成员实现。 抽象类 在类声明中使用abstract修饰符指示某个类只能是其他类的基类,标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。 抽象类的特性: 1、成员:抽象类可以包含抽象方法、属性、索引器、事件,也可以包含非抽象的方法。 2、规则:抽象类不能构造(实例化),不能用sealed修饰符修改抽象类,否则就意味这抽象类不能被继承。从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实现。 抽象方法 抽象方法的特性: 抽象方法是隐式的虚方法,只允许在抽象类中使用抽象方法声明。因为抽象方法声明不提供实际的实现,所以没有方法体;方法声明只是以一个分号结束,并且在签名后没有大括号”

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档