Chp7 面向对象三大特性.pdfVIP

  1. 1、本文档共36页,可阅读全部内容。
  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文档。上传文档
查看更多
Chp7 面向对象三大特性 本章导读 面向对象三大特性指的是:封装、继承、多态。这三大特性支撑了整个面向对象的理论 体系,是面向对象的核心。本章要介绍Java 中这三大特性是如何体现的,以及与这三大特 性相关的Java 语法。 1 封装 有如下代码: class CreditCard{ String password = “123456”; } public class TestCreditCard{ public static void main(String args[]){ CreditCard card = new CreditCard(); System.out.println(card.password); card.password = “000000”; System.out.println(card.password); } } 上述代码,创建了一个信用卡对象,并且读取、修改了这个对象的password 属性。 从Java 基本语法上说,这并没有问题。但是对于生活来说,这就是一个大问题!对于 信用卡对象而言,它的密码属性是不应该被随便访问和修改的。 面向对象中解决这个问题,可以采用封装的特性。封装指的是,任何对象都应该有一个 明确的边界,这个边界对对象内部的属性和方法起到保护的作用。 1.1 属性的封装 为上述的CreditCard 的password 属性增加private 关键字,如下: class CreditCard{ private String password = “123456”; } 则原有代码中会出现编译错误: public class TestCreditCard{ public static void main(String args[]){ CreditCard card = new CreditCard(); System.out.println(card.password); //编译错误 card.password = “000000”; //编译错误 System.out.println(card.password); //编译错误 } } 1 当为属性增加private 之后,这个属性就成为了一个私有属性。所谓私有,指的是该属 性只能在本类内部访问。例如,当我们把password 属性设置为private ,对这个属性的访问 就只能局限在CreditCard 类的内部。现在我们试图在TestCreditCard 类中访问这个属性,编 译器就会报出编译错误。这就相当于,card 对象的边界对于password 属性起到了保护的作 用,任何试图越过边界,访问password 属性的企图都会被阻止。 然而,对于用户而言,依然有可能要访问CreditCard 的密码。例如,在生活中,如果忘 了银行卡密码,我们可以凭借证件到银行去查询或重设密码。 对于这方面的需求,我们为 CreditCard 提供一对 get/set 方法。这两个方法的修饰符为 “public ”。用public 修饰的属性和方法表示“公开的”,公开属性和方法不受对象边界的限 制,在类的内部和外部都可以访问。代码如下: class CreditCard{ private String password = “123456”; public void setPassword(String password){ this.password = password; } public String getPassword(){ return this.password; } } 则TestCreditCard 类可以改成: public cla

文档评论(0)

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

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

1亿VIP精品文档

相关文档