1面向对象的特性(11月20号).pptVIP

  1. 1、本文档共37页,可阅读全部内容。
  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文档。上传文档
查看更多
1面向对象的特性(11月20号)

面向对象的特性 面向对象的基本特性 1.封装性 (女人的年龄封装起来)   封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义:   ◇ 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。   ◇ 信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。   封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的交叉感染,使软件错误能够局部化,大大减少查错和排错的难度。 面向对象的基本特性  2.继承性   特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。例如,轮船、客轮;人、大人。一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这称为多继承。例如,客轮是轮船和客运工具的特殊类。在java语言中,通常我们称一般类为父类(superclass,超类),特殊类为子类(subclass)。 (后面会详细阐述)   面向对象的基本特性 3.多态性   对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。例如:“几何图形”的“绘图”方法,“椭圆”和“多边形”都是“几何图”的子类,其“绘图”方法功能不同。(后面会详细阐述) 继承 子类继承父类的: 大部分成员变量 大部分成员方法 继承 public class Parent { public String name = 安; public void eat() { System.out.println( 嘿嘿,吃得真香! ); } } public class Child extends Parent { public static void main( String [] args ) { Child child = new Child(); System.out.println( 儿子也姓: + child.name ); child.eat(); } } 继承 可以看出,父类的name属性和eat方法子类都继承了,因为子类没有申明这两样东西,但却可以调用。 继承的好处 让开发者可以轻松定义和基本的类模板 避免重复编码 增强系统的可维护性 this 功能: 访问当前类的成员变量或成员方法,或构造器 this public class Test { String name; public Test( String name ) { this.name = name; } public Test() { This( “Eric” ); } public String getName() { return this.name; } public void setName(String name) { this.name = name; } } super 功能: 访问父类的成员变量或方法,或构造器 super public class Parent { public String name = 老安; public Parent( String name ) { this.name = name; } } public class Child extends Parent { public Child( String name ) { super( name ); } public String getParentName() { return super.name; } public static void main( String [] args ) { Child child = new Child(); String parentName = child.getParentName(); System.out.println( parentName ); } } 练习 1 编写一个“老干妈”(MotherInLaw)类,它的结构如下: 一个int类型的属性laLevel保存辣的级别 一个介绍自己的方法introduce,方法的实现专门返回自己辣的级别 再写一个“干儿子”类(SonInLaw)继承于老干妈,它的结构如下: 一个介绍自己的方法introduction,方法的实现专门返回自己辣的级别,干儿子辣的级别计算方式如下,是老干妈的3倍。 再写一个main方法分别调用上面两个类的介绍自己的方法,并打印返回值检查实现效果 练习 1 答案 public class Parent { public String name = 安; p

文档评论(0)

aicencen + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档