Java基础第七讲:面向对象基础(一)
如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!
Java基础第七讲:面向对象基础(一)
譬如我们用面向对象的思想来看待一架飞机: 如果我们站在顾客角度看飞机,那么它的状态是名字波音777,座位数380人,飞行速度940公里每小时,它的行为就是飞行,能把你从A地送到B地。 如果站在航空公司角度看飞机,那么它的状态是名字波音777,资产编号HNHK20100321,购买价格18.7亿人民币。它的行为就是能赚钱。 我们从不同角度去看待和抽象同一架飞机它的状态和行为不相同。2、类和对象的关系 类是对象的蓝图,它告诉虚拟机如何创建某个类型的对象。对象是根据蓝图建造出来的实例。 譬如我们设计一个模拟WOW的格斗游戏,需要人或者怪兽来战斗吧,战斗需要武器吧。那么圣骑士就是个类,人类圣骑士“锦马超”就是一个对象。如果双手剑件是个类,那么拿在“锦马超”手里的“霜之哀伤”就是一个对象。 譬如我们要建立一个全班同学的通讯录,设计一个通讯录的格式,包括姓名、性别、手机号、QQ号、宿舍号。然后我们按照一定的格式印出来,交由每个同学填写,那么每个同学填写的那一份就叫对象,我们填写的通讯录格式本身就是类。 譬如由一个寂寞的老人需要找个伴,要求:随时都可以陪着他,还不唠叨。有人带了一条狗。那么老人提的需求就是蓝图,就是类。狗就是对类的实现,就是对象。 3、定义类,创建对象 下面我们学习如何用Java的程序代码来定义类、创建对象。 定义一个类的步骤是:定义类名,编写类的属性(状态),编写类的方法(行为)再从面向对象的角度看待一个家乐福超市的员工王丽: 她在上班的时候是个收银员,那么她的状态是编号067,她的行为就是收银。她下班以后去家门口的小店买菜,那么他的身份就是顾客,她的状态是有个购物商品清单,她的行为就是付款。
我们从不同的角度和时间去看待同一个人,她的状态和行为也是不相同的,甚至看起来是相反的。 好了,我们自己尝试分析一下,电脑的状态和行为,手机的状态和行为,桌子的状态和行为,QQ的状态和行为,小狗、小猫、老虎、大象、蚊子、苍蝇…… 有一个简单的方法区别什么是状态什么是行为:就是状态是个名词,行为是个动词。
01 |
public class Dog { |
02 |
03 |
// 定义了狗的个头大小的属性 |
04 |
private int size; |
05 |
06 |
// 定义设置个头的方法 |
07 |
public void setSize( int size) { |
08 |
if (size > 0 && size < 10 ) { |
09 |
this .size = size; |
10 |
} else { |
11 |
size = 1 ; |
12 |
} |
13 |
} |
14 |
15 |
// 定义获取个头的方法 |
16 |
public int getSize() { |
17 |
return size; |
18 |
} |
19 |
20 |
// 定义狗叫的方法 |
21 |
public void bark(){ |
22 |
if (size< 5 ){ |
23 |
System.out.println( "汪汪汪!" ); |
24 |
} else { |
25 |
System.out.println( "嗷!嗷!" ); |
26 |
} |
27 |
} |
28 |
29 |
//定义main方法 |
30 |
public static void main(String[] args) { |
31 |
32 |
//创建了名字叫小黄的狗对象 |
33 |
Dog xiaoHang = new Dog(); |
34 |
//设置它的大小属性 |
35 |
xiaoHang.setSize( 3 ); |
36 |
//调用它的叫方法 |
37 |
xiaoHang.bark(); |
38 |
39 |
//创建了名字叫大黄的狗对象 |
40 |
Dog daHang = new Dog(); |
41 |
//设置它的大小属性 |
42 |
daHang.setSize( 7 ); |
43 |
//调用它的叫方法 |
44 |
daHang.bark(); |
45 |
} |
46 |
} |

01 |
public class Lesson07 { |
02 |
03 |
private String 牛奶= "一瓶牛奶" ; |
04 |
05 |
public String 得到牛奶(){ |
06 |
System.out.println( "给出了" +牛奶); |
07 |
return 牛奶; |
08 |
} |
09 |
10 |
public void 设置牛奶(String s){ |
11 |
this .牛奶=s; |
12 |
} |
13 |
14 |
public static void main(String[] args) { |
15 |
16 |
Lesson07 lesson = new Lesson07(); |
17 |
lesson.得到牛奶(); |
18 |
19 |
lesson.设置牛奶( "一罐牛奶" ); |
20 |
lesson.得到牛奶(); |
21 |
} |
22 |
23 |
} |


- 分类:
- Java
更新时间:
相关文章
Java基础第十二讲:面向对象基础(六)
本讲内容:内部类 Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类。内部类又分为:常规内部类、局部内部类、匿名内部类和静态嵌套类四种。我们内部类的知识在Android手机开发中 阅读更多…
Java基础第十一讲:面向对象基础(五)
本讲内容:接口 一、为什么要有接口 我们已经知道Java中只支持单继承,或者说不允许多重继承的出现,又可以说一个类只能有一个父类。为了提供类似多重继承的功能,Java提供了接口的 阅读更多…
Java基础第十讲:面向对象基础(四)
本讲内容:抽象类、初始化块 一、抽象类 用 abstract 修饰的类定义,我们称之为抽象类,抽象类不能被实例化。 用 abstract 修饰的方法,我们称之为抽象方法,抽象方法 阅读更多…
Java基础第九讲:面向对象基础(三)
本讲内容:继承、变量隐藏、方法重写、包、修饰符、this、super 一、继承 1、继承的概念 继承是面向对象的三大特性之一。在语义上继承的意思是照法律或遵照遗嘱接受死者的财 阅读更多…
Java基础第八讲:面向对象基础(二)
本讲内容:成员变量、方法、方法的重载、构造函数 一、用程序讲解小白的故事 小白是一条狗,它心情好的时候会恭喜人发财,它心情差的时候会对路人撒野,吓得路人落荒而逃。下面我们用面向对象的方 阅读更多…