黑马程序员技术交流社区

标题: 面向对象(装大象) [打印本页]

作者: 梦醒?!    时间: 2015-6-28 13:52
标题: 面向对象(装大象)
这是刘意老师讲的面向对象装大象的案例,他把大象也看成是一个对象了
面向对象:
                怎么着让我们的操作更符合面向对象思想呢?
                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("关闭冰箱门");
        }

}








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2