09面向对象程序设计3.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java程序设计视频教程 本讲主题:面向对象程序设计 第3章 面向对象程序设计(3) 3.7 封装性 3.8 继承性 3.9 多态性 3.7 封装性 目的 限制在类的外部对类内部成员进行访问,只通过公共接口来访问类的成员数据。 屏蔽细节:这是程序设计的基本思想方法,便于程序功能的扩展和程序的维护。 封装类 大多数变量都是私有的,变量通过他们自己类的方法修改,其它类都只与一个类中很少的几部分接口; 若变量或方法为公有,它就是接口的一部分,其它类可以访问它;若为私有,它是实现的一部分,只有类自己的成员可以访问它 访问权限的设置 类的访问权限的设置 类的权限有两种:默认和public。 如果在一个源程序文件中,声明了若干个类的话,只能有一个类的权限关键字是public。这个类的名字应该和程序文件同名,main方法也应该在这个类中。 类的成员的访问权限设置 用权限关键字设置类的成员的权限,以此决定是否允许其类外部的代码访问这些成员。 例: private int name,sex,age,stuID; public void setName(String name); 访问控制方式:public 被修饰为public的类是公共类,它可供所在包的其他类使用,也可供其他包中的类使用,在程序中可以用import语句引入其他包中的public类。 被public定义的类中成员变量或方法可以供其他类访问,表明对外开放的方式;一般类的定义中,含有少量(或者没有) public 变量,部分 public 方法。 访问控制方式:private 设置private访问权限,则该类的成员只能被同一类中的成员访问,而不让其他类进行访问。 目的: 隐藏具体的实现细节 变量常常是private 采用 public “get” 方法?读取数据 采用 public “set”方法?写数据 访问控制方式:protected 同一个包内的所有类的所有方法都能访问该成员 如果不在同一个包内的类的方法要访问该成员,则该类必须是该成员所在的类的子类 访问控制方式: 默认 (缺省方式) 默认的权限,该类的成员能被同一包中的类访问。 封装性的可以带来的优点 基本思想: 提供对外的通讯方式,封装内部的实现机制 增加内部实现部分的可替换性 减小类之间的耦合关系,方便模块划分 容易保证类内部数据间的一致性,从而提高软件的可靠性 何时为public或private? 基本思想 类常常是public 成员变量常常是private. 构造方法一般是public. 方法“get”与“set”是 public. 其它方法需要根据实际的需要而定 上面的思想可以用于大部分的程序设计(也许90%) 例:根据以下的设计要求编写java源代码。 类名: Student 变量(访问权限均为private): name(String) //姓名 age(int) //年龄 方法: 构造方法(没有参数,设置姓名为“无名氏”,年龄为20) setName(有一个名为name的String型参数,将name的值设为这个新值), getName (没有参数,返回姓名) setAge(有一个名为age的int型参数,将age的值设为这个新值), getAge (没有参数,返回年龄) isSameAge(有一个参数s,是另一个Student对象的引用,如果两个Student对象的age相同,则返回true,否则返回false) public class Student{ private String name; private int age; public Student(){ name=无名氏; age=20; } public void setName(String name){ this.name=name; } public String getName(){ return name; } public void setAge(int age){ this.age=age; } public int getAge(){ return age; } public boolean isSameAge(Student s){ if(s.age-this.age==0) return true; return false; } public static void main(String args[]){ Student s1=new Student(); Student s2=new Student(); s2.age=20; System.out.p

文档评论(0)

天马行空 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档