社区
Java SE
帖子详情
关于面向对象的简单问题
whn1119
2010-03-19 03:13:57
初学面向对象 很多地方不是很理解
比如有三个类
Teacher:教授很多门Module
Module:包含多个Course(比如 实验课 习题课 等等)
Course
现在有一个操作 Teacher想在某一个Module里面增加一个Course, 假设这个操作为 AddCourse
那这个 AddCourse 的操作应该作为哪一个类的方法呢?还是这三个类都有这个方法?
希望多多指教 越详细越好 谢谢~!!!
...全文
97
13
打赏
收藏
关于面向对象的简单问题
初学面向对象 很多地方不是很理解 比如有三个类 Teacher:教授很多门Module Module:包含多个Course(比如 实验课 习题课 等等) Course 现在有一个操作 Teacher想在某一个Module里面增加一个Course, 假设这个操作为 AddCourse 那这个 AddCourse 的操作应该作为哪一个类的方法呢?还是这三个类都有这个方法? 希望多多指教 越详细越好 谢谢~!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
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
面向
对象
精讲
本课程将Java中
面向
对象
的内容细致化,精细化,抽象的内容具体化,使用大量的生活小案例来讲解
面向
对象
的内容,解决大家在学习
面向
对象
过程中不好理解的
问题
,让大家都能学好
面向
对象
的内容
Java SE
62,584
社区成员
307,504
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章