黑马程序员技术交流社区

标题: 发个帖子-说一个面向对象的思想 [打印本页]

作者: 冯超    时间: 2013-1-29 16:30
标题: 发个帖子-说一个面向对象的思想
主要是思想,可能很多人像我一直学学学,好多东西没学完了,其实自己也是想早一点学到SSH,能做出一个比较好的项目。
面向对象:
最近火车票这个词很火,呵呵。(以前我们去买票,都是先到火车站,然后再在站台像服务员买票,最后服务员给你一张票。。。。)
      我把买火车票的这个功能封装成一个类。然后我new 一个火车票类,在调用火车票这个类中的买票方法,它最后返回一个票你。

class 火车票
{
     买票method() {}
}
则 火车票 票 = new 火车票().method();
作者: 舒远    时间: 2013-1-29 16:37
本帖最后由 舒远 于 2013-1-29 16:38 编辑

卖票的功能应该是窗口这个对象的。
火车票只是个普通对象(价格,车次,起始站,发车时间等属性)
还有一个票务中心这样的对象,负责产生整个铁路系统的票。
窗口具备卖票的方法:saleTicket(),窗口中所卖的票是由票务中心产生的。
作者: 戴振良    时间: 2013-1-29 18:05
舒远 发表于 2013-1-29 16:37
卖票的功能应该是窗口这个对象的。
火车票只是个普通对象(价格,车次,起始站,发车时间等属性)
还有一个 ...

        赞同你的说法,至于为什么赞同,参考老张的思想:”谁拥有数据,谁就对外提供操作这些数据的方法”,这是面向对象的原理吧,记住这个原理大家就都是面向对象的高手 了,这是张孝详老师说的。
        分析:
        我们说卖票,那么谁拥有票?  不能说票拥有票吧?所以卖票的方法放在票的对象上很明显是错误的。
        
        又如,我们要打印火车票,这个方法应该谁拥有?
        分析:
        我们说打印火车,那么打印的是火车票的价格,车次、发车时间等信息。很明显火车票这个对象拥有这些数据,所以打印火车票的方法应该定义在“火车票”对象上。
         希望对大家有帮助!!!!!记住老张说的话,没错!!!
作者: 冯超    时间: 2013-1-30 13:27
戴振良 发表于 2013-1-29 18:05
赞同你的说法,至于为什么赞同,参考老张的思想:”谁拥有数据,谁就对外提供操作这些数据的方法 ...

记住是没有用,要深刻理解才对。
作者: 戴振良    时间: 2013-1-30 19:16
冯超 发表于 2013-1-30 13:27
记住是没有用,要深刻理解才对。

记住怎么没用?那是你不去用吧,你没记住怎么去用?没去用怎么能深刻理解?




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