第3讲 类与对象概要.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3讲 类与对象概要

class GoodDog { private int size; public int getSize() { return size; } public void setSize(int s) { if (s 6) { size = s; } } void bark() { if (size 60) { System.out.println(“Woof! Woof!”); } else if (size 20) { System.out.println(“Ruff! Ruff!”); } else { System.out.println(“Yip! Yip!”); } } } public class GoodDogTest { public static void main (String[] args) { GoodDog myGoodDog = new GoodDog(); myGoodDog.setSize(13); //如果这里改为5,会怎样? System.out.println(mygoodDog.getSize()); myGoodDog.bark(); } } 声明在方法中的局部变量 实例变量声明在类中,局部变量声明在方法中 class AddThing { int a; int b = 12; public int add() { int total = a + b; return total; } } 局部变量没有默认值,因此在使用前必须初始化 class AddDogs { public void go() { int x; //可以声明没有值的x int z = x + 3; //要使用的x没有值,无法编译 } } 变量的比较 使用==比对基本数据类型 int a = 3; byte b = 3; if ( a == b ) { … } 使用==判别两个引用是否都引用同一对象 Foo a = new Foo(); Foo b = new Foo(); Foo c = a; if ( a == b ) { … } // false if ( a == c ) { … } // true if ( b == c ) { … } // false 2个对象是否在意义上相等?使用Object类的equals()方法 ==比较任意类型的2个变量的字节组合 eg:两个String对象是否带有相同的字节组合? 【入门引例】 为什么PC制造业发展这么快? 为什么HP 、 Dell 、 联想、宏基等PC制造商及其PC制造业发展如此之快? 因为它们能够生产具有良好性能的PC,并以低廉的价格销售,从而满足了信息时代人们对PC需求的迅猛增长 为什么它们能够源源不断地制造出这么多型号的PC,并以如此快的速度对市场需求变化做出响应? 因为它们将大量的工作交给了别人。它们从其它PC配件制造商那里购买零配件,然后组装。例如,当购买一个电源的时候,实际上购买的就是具有一些属性(大小、形状等)和功能(稳压输出、实际功率等)的东西 配件制造商按照标准、规范,建立流水生产线…… 第2部分 面向对象 与生产PC类似,我们希望使用更快捷的途径进行程序设计 我们希望将数据与操作数据的方法一起放置在同一个类内 类可以重复使用在别的应用程序中,当我们自定义类时,可以使类有足够的扩展性,以便随时使用 我们希望有很多现成的类可供使用,如果没有现成的,我们就自定义类 3.1 面向对象技术是历史发展的必然 结构化的方法专注于操作,数据分散在程序中 传统面向过程的结构化编程技术的缺陷: (1)数据可被方法更改,存在被破坏的风险 (2)更改数据时常需重写相关方法,程序可维护性降低 (3)数据和方法未紧密联系在一起,代码重用性低 (4)全局变量可被所有方法访问,追踪其数值较为困难 改变思路:将数据及操作数据的方法放在一起!定义成类! 第3讲 类与对象 面向过程的思想 VS 面向对象的思想 面向过程的开车:我发动!我踩离合!我挂档!我松离合!我踩油门…… 面向对象的开车:我的车!GO!GO!GO!

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档