Beginning C# Objects课后习题1
Beginning C# Objects From Concepts to code课后练习
第四章: 对象互操作
Page 116
3 根据代码判断违反OO约定的地方
第一个例子:
A 不应该声明一个public的attribute, 这破坏了OO的封装性
B private string address 应该有相应的取值赋值方法,除非姿势自己内部用,但是地址这个值应该是需要被引用的
C numberOfFloors定义为int,但是set函数却是Float 型
第二个例子:
A 取值赋值方法中类型的定义应该和变量的定义一致,或者更严格
B address应该有相应的取值赋值方,除非是内部应用
2 根据代码判断类的特征
答:从代码来看,Student类的大概定义
public class Student
{
private major string;
private professor1 Professor
public string Major{
get{
return major
}
set{
major = value}
}
public bool HasAdvisor()
{//判断该学生是否有数学导师
}
public bool DesignaTeAdvisor(professor professor1)
{//判断该学生是否有数学导师
}
}
所以Property头有:
private major string
private professor1 Professor
方法头:
public bool HasAdvisor()
public bool DesignaTeAdvisor(professor professor1)
1 根据题目定义一个Book类
答:定义book内如下:
public class Book
{
//attributes
private author Author;
private title string;
private noOfpages int;
private bool fiction;
public string Title{
get{
return title;
}
}
public int NoOfpages{
get{
return noOfpages;
}
}
public bool IsFiction{
return fiction;
}
public void SetFiction(bool x){
fiction=x;
}
//定义一个方法, 此类方法可能还有很多
public string GetBookName{
//添加GetBookName代码
}
}
public class Author
{
//attributes
private name string;
private sex string;
public string Name{
get{
return name;
}
set{
name=value;
}
}
public string Sex{
get{
return name;
}
set{
name=value;
}
}
}


浙公网安备 33010602011771号