社区
Java SE
帖子详情
关于面向对象的简单问题
whn1119
2010-03-19 03:13:57
初学面向对象 很多地方不是很理解
比如有三个类
Teacher:教授很多门Module
Module:包含多个Course(比如 实验课 习题课 等等)
Course
现在有一个操作 Teacher想在某一个Module里面增加一个Course, 假设这个操作为 AddCourse
那这个 AddCourse 的操作应该作为哪一个类的方法呢?还是这三个类都有这个方法?
希望多多指教 越详细越好 谢谢~!!!
...全文
95
13
打赏
收藏
关于面向对象的简单问题
初学面向对象 很多地方不是很理解 比如有三个类 Teacher:教授很多门Module Module:包含多个Course(比如 实验课 习题课 等等) Course 现在有一个操作 Teacher想在某一个Module里面增加一个Course, 假设这个操作为 AddCourse 那这个 AddCourse 的操作应该作为哪一个类的方法呢?还是这三个类都有这个方法? 希望多多指教 越详细越好 谢谢~!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
whn1119
2010-03-19
打赏
举报
回复
[Quote=引用 10 楼 dracularking 的回复:]
老师有所教课程属性,表明他任教有哪些课,可用集合表示
老师还可以添加课程,结果是增加了课程属性元素,就有addCourse方法
[/Quote]
谢谢 我更加清晰了!
Ark032425
2010-03-19
打赏
举报
回复
[Quote=引用 5 楼 xiesisi3 的回复:]
那么你首先得想清楚,AddCourse是一种能力,这种能力应该谁来具有呢?
是不是每个Teacher都可以加属于自己的Course?
但具体到每个不同的Teacher肯定是不同的Course,那么就可以把Teacher设计成接口或是抽象类,它有一个方法就是AddCourse.同样Course也是一样,因为可以具体到每一个Course,所以也可以设计成接口或抽象类。
[/Quote]
比较灵活的,可以有多种设计
whn1119
2010-03-19
打赏
举报
回复
[Quote=引用 5 楼 xiesisi3 的回复:]
那么你首先得想清楚,AddCourse是一种能力,这种能力应该谁来具有呢?
是不是每个Teacher都可以加属于自己的Course?
但具体到每个不同的Teacher肯定是不同的Course,那么就可以把Teacher设计成接口或是抽象类,它有一个方法就是AddCourse.同样Course也是一样,因为可以具体到每一个Course,所以也可以设计成接口或抽象类。
[/Quote]
我明白了,是我自己没弄清楚类和对象的概念。
非常感谢!
科學信仰
2010-03-19
打赏
举报
回复
老师有所教课程属性,表明他任教有哪些课,可用集合表示
老师还可以添加课程,结果是增加了课程属性元素,就有addCourse方法
ifrancis
2010-03-19
打赏
举报
回复
典型的面向对象认识问题 楼主加油啊 java里面万事万物皆对象 你可以是个对象 我也是个对象 我们之间的距离也是个对象 你对我这个回帖的看法也可以是对象
TillPerfect
2010-03-19
打赏
举报
回复
面向对象,理解为面向实际生活场景来思考问题。面向对象是前辈们摸索多年总结出来的设计思想,就是想让编程尽可能的简单易懂些。退后一步,不要凑在代码跟前去想怎么“面向对象”,要从一个设计的高度来看待问题。额。。。这个要慢慢体会,可能我描述的不够好。。。
xiesisi3
2010-03-19
打赏
举报
回复
其实面向对象,就是把事物想成一个一个的类,然后类方法就是那个事物能做什么,属性就是那个事物是什么样的。
poFate
2010-03-19
打赏
举报
回复
这个用观察者模式较好。。。
xiesisi3
2010-03-19
打赏
举报
回复
那么你首先得想清楚,AddCourse是一种能力,这种能力应该谁来具有呢?
是不是每个Teacher都可以加属于自己的Course?
但具体到每个不同的Teacher肯定是不同的Course,那么就可以把Teacher设计成接口或是抽象类,它有一个方法就是AddCourse.同样Course也是一样,因为可以具体到每一个Course,所以也可以设计成接口或抽象类。
poFate
2010-03-19
打赏
举报
回复
[Quote=引用 3 楼 whn1119 的回复:]
引用 2 楼 xiesisi3 的回复:
Module:包含多个Course(比如 实验课 习题课 等等)
既然都是这样了,说明Module这个类就是专门用来盛装Course的,当然无论是增加Course还是减少都应该是Module这个类来做
可如果没有这个Module类 只有Teacher类和Course类的话 AddCourse这个方法应该放在哪儿呢?
谢谢!
[/Quote]
如果这样那就应该放在Teacher里面,但是Teache里面必须有module字段
即使这样module也必须有一个addCourse()形式的方法
如果有多个module的话 就不好办了
whn1119
2010-03-19
打赏
举报
回复
[Quote=引用 2 楼 xiesisi3 的回复:]
Module:包含多个Course(比如 实验课 习题课 等等)
既然都是这样了,说明Module这个类就是专门用来盛装Course的,当然无论是增加Course还是减少都应该是Module这个类来做
[/Quote]
可如果没有这个Module类 只有Teacher类和Course类的话 AddCourse这个方法应该放在哪儿呢?
谢谢!
xiesisi3
2010-03-19
打赏
举报
回复
Module:包含多个Course(比如 实验课 习题课 等等)
既然都是这样了,说明Module这个类就是专门用来盛装Course的,当然无论是增加Course还是减少都应该是Module这个类来做
不姓贾_请叫我甄先生
2010-03-19
打赏
举报
回复
当然是Module里有AddCourse()方法
public void AddCourse(){
//-TODO......
}
相关推荐
JAVA
面向对象
高级编程
OOP: Object Oriented Programming,
面向对象
的程序设计。所谓“对象”在显式支持
面向对象
的语言中,一般是指类在内存中装载的实例,具有相关的成员变量和成员函数(也称为:方法)。
面向对象
的程序设计完全不同于传统的面向过程程序设计,它大大地降低了软件开发的难度,使编程就像搭积木一样
简单
,是当今电脑编程的一股势不可挡的潮流。
面向对象
的
简单
介绍
面向对象
的
简单
介绍 一、 什么是
面向对象
的程序设计及为什么要有它 面向过程的程序设计:核心是过程二字,过程指的是解决
问题
的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式。 优点是:复杂度的
问题
流程化,进而
简单
化(一个复杂的
问题
,分成一个个小的步骤去...
面向对象
总结
面向对象
面向对象
的三大特征在 Java 中有两种形式可以实现多态:继承(多个子类对同一方法的重写)和接口(实现接口并覆盖接口中同一方法)。
面向对象
的分析:OOA
面向对象
的设计:OOD
面向对象
的编程:OOP面向过程 1、步骤清晰
简单
,第一步做什么,第二步做什么。。。。。。 2、适用于一些较为
简单
的
问题
面向对象
1、适用于
问题
复杂的情况 2、解决
问题
要有分类思想,先对
问题
进行分析,需要分哪些类,然后再考虑某个具体分类 3、
面向对象
的三大特征类和对象的关系对象是具体的,世界的万物都可以看做对象; 类是抽象概念
面向对象
的编程
面向对象
的编程 面向过程和
面向对象
面向过程的思想 步骤清晰
简单
,第一步做什么,第二步做什么 面向过程适合处理一些
简单
的
问题
面向对象
的思想 物以类聚,分类的思维模式,思考
问题
首先会解决
问题
需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索
面向对象
适合处理复杂的
问题
,适合需要多人协作的
问题
对于描述复杂的事物为了从宏观上把握,从整体上合理分析,我们需要
面向对象
的思想来分析整个系统
Java基础之
面向对象
概述
面向对象
概述 0.
面向对象
语言:c#,c++,java,就是将过程封装成对象,指挥对象来做 1.
面向对象
是一种常见的思想,符合人们的思考习惯 2.
面向对象
的出现,将复杂的
问题
简单
化了 3.
面向对象
的出现,将曾经过程中的执行者变成了对象当中的指挥者面试题:说一下你对
面向对象
的理解 首先,
面向对象
是一种常见的思想,符合人们的思考习惯。
面向对象
的出现,将复杂的
问题
简单
化...
Java SE
62,568
社区成员
307,521
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告