|登录 |注册

查看: 7270|回复: 54
打印 上一主题 下一主题

[讨论][C#][JAVA][PHP] OOP 的逻辑, 如何写个好CLASS?

[复制链接]
宅男-兜着走
2009-12-6 06:06 PM
虽然明白 OOP 的格式。

但是还是很抽象, 也不明白怎样才是正确的使用方法, 也不明白怎样写个好 CLASS。

请大家多多指导。

假如现在我要写个 program 能 record employee的资料进去 database的。

employee 的constructor内
name, age , salary , position 等等

我现在写了 position 继承 (manager, officer , clerk , toiletKeeper ,等等)。

然后我又写了个class 叫做 database ,database class 有 3 个method , (1 . saveProfile , 2. updateProfile ,3. deleteProfile)

这样子针对的方式如何? 感觉是对, 又好像不对, 希望有人指点指点。

[ 本帖最后由 宅男-兜着走 于 2009-12-6 08:16 PM 编辑 ]
Super-Tomato
2009-12-6 07:02 PM
原帖由 宅男-兜着走 于 2009-12-6 06:06 PM 发表
虽然明白 OOP 的格式。

但是还是很抽象, 也不明白怎样才是正确的使用方法, 也不明白怎样写个好 CLASS。

请大家多多指导。

假如现在我要写个 program 能 record employee的资料进去 database的。

我现在写了 employee , 我inherit position (manager, officer , clerk , toiletKeeper ,等等)。

然后我又写了个class 叫做 database ,database class 有两个method , (1 . saveProfile , 2. updateProfile ,3. deleteProfile)

这样子针对的方式如何? 感觉是对, 又好像不对, 希望有人指点指点。



如果只是如你這樣述说,應該是 position 继承 database class 才對吧
duo8668
2009-12-6 11:46 PM
employee => abstract class
Manager=>inherit from position
db class => make use of both ?


刚刚用。。。safari 。。。所以就那么怪的回答。。。

话说,楼主在做什么project?


[ 本帖最后由 duo8668 于 2009-12-7 12:00 AM 编辑 ]
宅男-兜着走
2009-12-6 11:55 PM
原帖由 duo8668 于 2009-12-6 11:46 PM 发表
employee => abstract classManager=>inherit from positiondb class => make use of both ?   





你在写什么? 有点看不懂

回复 #4 宅男-兜着走 的帖子

duo8668
2009-12-7 12:02 AM
那个是我上学期 assignment 老师叫我们用的JSP 的 MVC  =.=
基本上是不想看回去。。。 乱78糟
宅男-兜着走
2009-12-7 12:13 AM
原帖由 duo8668 于 2009-12-6 11:46 PM 发表
employee => abstract class
Manager=>inherit from position
db class => make use of both ?


刚刚用。。。safari 。。。所以就那么怪的回答。。。

话说,楼主在做什么project?




没做project, 也没project 给我做, 只是写玩玩罢了。

我只是想知道这样的 PROGRAM :

我有这些东西:

employee -> 1. manager
                        2. officer
                        3. clerk
                        n. ........

然后一个database

companyBase -> tbl_employees

然后这些员工的东西, 都会记录在同个 table 内。 是你你会怎么设计? 怎么分类那些class?

database , insert update delete 都在同一个 employee class

还是, database insert , update , delete 是自己一个个别的 class?

[ 本帖最后由 宅男-兜着走 于 2009-12-7 12:16 AM 编辑 ]
Super-Tomato
2009-12-7 12:23 AM
原帖由 宅男-兜着走 于 2009-12-7 12:13 AM 发表




没做project, 也没project 给我做, 只是写玩玩罢了。

我只是想知道这样的 PROGRAM :

我有这些东西:

employee -> 1. manager
                        2. officer
                      ...



把你的 insert, update, delete 等基本操作资料库動作写在 employee 即可,而所有的职业都继承這個 employee 動作,如果你要的話 employee 可以再 extend 你自己的 db class
宅男-兜着走
2009-12-7 12:27 AM
原帖由 Super-Tomato 于 2009-12-7 12:23 AM 发表



把你的 insert, update, delete 等基本操作资料库動作写在 employee 即可,而所有的职业都继承這個 employee 動作,如果你要的話 employee 可以再 extend 你自己的 db class



你说的最后一句的意思是, employee 继承  db class 吗?
Super-Tomato
2009-12-7 12:32 AM
原帖由 宅男-兜着走 于 2009-12-7 12:27 AM 发表



你说的最后一句的意思是, employee 继承  db class 吗?



對啊。。。想想如果你把 db 连接等都写在 employee 的話,那麼你的程式就写死了
db 可以是 Oracle, DB2, MSSQL, MySQL等,只要写個 interface 提供給程式的話,你的 employee 就可以不用再重写的情況下完成各种资料库的移植
duo8668
2009-12-7 02:13 AM
原帖由 宅男-兜着走 于 2009-12-7 12:13 AM 发表




没做project, 也没project 给我做, 只是写玩玩罢了。

我只是想知道这样的 PROGRAM :

我有这些东西:

employee -> 1. manager
                        2. officer
                      ...

我的嘛。。。目前还是学生,谈不上什么设计。不过会做像tomato所说的那种基本设计吧。深入的就不知道了。
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-3-11 12:33 AM , Processed in 0.094985 second(s), 25 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部