这是刘意老师讲的面向对象装大象的案例,他把大象也看成是一个对象了
面向对象:
怎么着让我们的操作更符合面向对象思想呢?
A:分析该系统中包含哪些对象?
B:明确每个对象可以做什么?
C:明确各个对象间的关系?
步骤:
A:有哪些? 名词提取法。-- UML(统一建模语言)
大象
冰箱
测试
B:每个对象有什么?
大象:
in()
冰箱:
open()
close()
测试:
main()
C:测试
测试中调用大象和冰箱的功能。
代码体现:
class 大象
{
public void in()
{
System.out.println("装进大象");
}
}
class 冰箱
{
public void open()
{
System.out.println("打开冰箱门");
}
public void close()
{
System.out.println("关闭冰箱门");
}
}
class 测试类
{
public static void main(String[] args)
{
冰箱对象.open();
大象对象.in();
冰箱对象.close();
}
}
那能不能只把冰箱看成对象,把装东西看成是冰箱的属性,将大象传进去呢
1.对象:冰箱
2.功能:
冰箱:打开冰箱门
装大象
关闭冰箱门
*/
class BingXiangTest
{
public static void main(String[] args)
{
BingXiang b = new BingXiang();
b.thing = "大象";
b.open();
b.in();
b.close();
}
}
class BingXiang
{
String thing;
//打开冰箱门的功能
public void open()
{
System.out.println("打开冰箱门");
}
//装东西的功能
public void in()
{
System.out.println("把"+thing+"装进去");
}
//关闭冰箱门的功能
public void close()
{
System.out.println("关闭冰箱门");
}
}
|
|