| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1627 人关注过本帖
标题:[讨论]继承与多态
取消只看楼主 加入收藏
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
 问题点数:0 回复次数:14 
[讨论]继承与多态

看了很久继承和多态了 但是一直不理解
最近看到一本书上有个例子 但是我照着敲完了还是不理解
基类:教师类

public abstract class Teacher
{
protected int salary;
protected int grade;
private bool isWorking = false;
public abstract int CalculateDaysWorked();
public virtual void Work(bool isWorking )
{
this.isWorking =isWorking;
}
protected bool IsWorking
{
get
{
return isWorking;
}
}
}


谁来帮我分析分析这个类的构成呀
以及为什么这样写这个类
搜索更多相关主题的帖子: 多态 bool isWorking int public 
2006-08-29 15:35
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
咋没人理偶
如果基类是教师类
继承类有三种
1:教导主任->不教课
2:临时助教->教课
3:一般教师->教课
但是他们三个都是工作的
而且教授有可能是年薪制
因此教师的工资有可能是用年薪/12获得的
各个岗位的工资补贴也可能不一样
比如有的有股票 分红 奖金 补助 等等 有的就不一样
要实现如此复杂的关系如何是好?

此号自封于2006年11月30日
2006-08-29 15:46
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
以下是引用chenjin145在2006-8-29 15:52:32的发言:
這不是很簡單麼
你都寫出來了

这可不是我写的啊
这是我抄的啊
如果要实现那3个子类怎么写?
帮我把子类写一下吧
顺便带上说明袄


此号自封于2006年11月30日
2006-08-29 15:58
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
以下是引用xxxxx52在2006-8-29 15:59:09的发言:
呵呵 自问自答呀~

是你们都不理偶
偶才把基类抄了一下啊

帮俺想想那3个子类如果写呀


此号自封于2006年11月30日
2006-08-29 16:00
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
以下是引用chenjin145在2006-8-29 16:09:45的发言:

public class TeacherDirector:Teacher
{
public override int CalculateDaysWorked()
{
return 工作天數;
}

public TeacherDirector(bool work,int salary)
{
base.Work(true);
base.salary=salary
}

public int Salary
{
get{return base.salary;}
}
}

教導主任就這樣了

override 这个是重写吧?
基类abstract那个有什么作用?
基类里还有一个IsWorking那个东西教导主任继承了吗?

[此贴子已经被作者于2006-8-29 16:15:22编辑过]


此号自封于2006年11月30日
2006-08-29 16:13
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 

我又明白一点了
如果继承的话
在子类里直接base后可以调用父类里所有的属性和方法
但是如果单纯传参的话还不如象以前我们讨论的那样建一个全局变量类好用

那么继承的好处又在哪方面呢>?
重写?


此号自封于2006年11月30日
2006-08-29 16:19
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
以下是引用xxxxx52在2006-8-29 16:22:04的发言:
我觉得好处是 技巧性的用会省时间吧~
个人瞎猜 不对你就喷~



那如果不会技巧的用就不用被?
反正我现在没体味到好处呢
目前只体味到接口的好处了


此号自封于2006年11月30日
2006-08-29 16:24
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 

teacher n=new 教導主任
教導主任 n=new 教導主任

这2种用法一样吗


此号自封于2006年11月30日
2006-08-29 16:32
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
以下是引用xxxxx52在2006-8-29 16:35:36的发言:

teacher n=new 教导主任 不行的呀 她本来是老师就只能是老师

我试过了可以的
我这样用的

Teacher a=new TeacherDirector ();

Teacher b=new Teacher ();

结果a里的东西和b里的东西完全不一样
b里的东西很多


此号自封于2006年11月30日
2006-08-29 16:39
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
以下是引用chenjin145在2006-8-29 16:38:56的发言:
void 解僱(teacher n)
{
}

你說能解僱哪幾個


void 解僱(教導主任 n)
{
}
void 解僱(教授 n)
{
}
需要多少個解僱


不太明白你的意思


此号自封于2006年11月30日
2006-08-29 16:40
快速回复:[讨论]继承与多态
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032029 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved