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

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

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
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
這不是很簡單麼
你都寫出來了

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-29 15:52
CrazyWeed0907
Rank: 2
等 级:新手上路
威 望:5
帖 子:1385
专家分:0
注 册:2006-5-30
收藏
得分:0 

“十步杀一人,千里不留行。事了拂衣去,深藏身与名。”
2006-08-29 15:56
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
xxxxx52
Rank: 4
等 级:贵宾
威 望:13
帖 子:689
专家分:0
注 册:2006-4-30
收藏
得分:0 
呵呵 自问自答呀~

好的资料下载网站http:///in.asp?id=xuelion2006 嘿嘿帮点一下拉~
2006-08-29 15:59
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
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 

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;}
}
}

教導主任就這樣了

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


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-08-29 16:09
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
快速回复:[讨论]继承与多态
数据加载中...
 
   



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

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