java面向对像代码思路 java面向对象实战( 二 )


这个数目常常是6.当类包含多于6个数据成员时,可以把逻辑相关的数据成员划分为一组,然后用一个新的包含类去包含这一组成员 。
(29)让系统功能在窄而深的继承体系中垂直分布 。
(30)在实现语义约束时,最好根据类定义来实现 。
这常常会导致类泛滥成灾,在这种情况下,约束应当在类的行为中实现,通常是在构造函数中实现,但不是必须如此 。
(31)在类的构造函数中实现语义约束时,把约束测试放在构造函数领域所允许的尽量深的包含层次中 。
(32)Java面向对象中,约束所依赖的语义信息如果经常改变,那么最好放在一个集中式的第3方对象中 。
(33)约束所依赖的语义信息如果很少改变,那么最好分布在约束所涉及的各个类中 。
(34)类必须知道它包含什么,但是不能知道谁包含它 。
(35)共享字面范围(也就是被同一个类所包含)的对象相互之间不应当有使用关系 。
(36)继承只应被用来为特化层次结构建模 。
(37)派生类必须知道基类,基类不应该知道关于它们的派生类的任何信息 。
(38)基类中的所有数据都应当是私有的,不要使用保护数据 。
电脑培训认为类的设计者永远都不应该把类的使用者不需要的东西放在公有接口中 。
(39)在理论上,继承层次体系应当深一点,越深越好 。
(40)在实践中,继承层次体系的深度不应当超出一个普通人的短期记忆能力 。
一个广为接受的深度值是6.(41)所有的抽象类都应当是基类 。
请用java中面向对象的思想用代码描述如下内容:把 人 封装成一个类Personjava面向对像代码思路,继承这个类 变有了 人应该有的属性
把 家庭成员关系封装一个类Familyjava面向对像代码思路,继承这个类有了家庭关系的属性
把工作封装成一个接口Jop,继承这个接口实现了工作的方法
由于Person 和 Family 属性都是固定的,即每个人的情况基本都一样所以封装成类
Jop 则是因为 每个人的工作不一样,所有做成接口 , 究竟是什么样的工作让这个人来实现
这里Person 和 Family需要的属性并不多,所以java面向对像代码思路我统一将他们封装了一个类 Person 实现代码如下java面向对像代码思路:
public class XiaoHong extends Person implements Jop {
public XiaoHong(String name, String sex, String Father, String Mother,
String Son) {
super(name, sex, Father, Mother, Son);
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
XiaoHong xiaohong = new XiaoHong("小红","女","李雷", "韩梅梅", "讨厌啦!人家还?。?);
System.out.println(xiaohong);
xiaohong.work();
}
@Override
public void work() {
System.out.println("我是一个高中生");
}
}
/********************************************************************************/
public class Person {
private String name = "I Don't Know";
private String sex = "I Don't Know";
private String Father = "I Don't Know";
private String Mother = "I Don't Know";
private String Son = "I Don't Know";
public Person(String name, String sex, String myFather, String myMother,
String mySon) {
super();
this.name = name;
this.sex = sex;
this.Father = myFather;
this.Mother = myMother;
this.Son = mySon;
}
public String getName() {
return name;
}
public String getSex() {
return sex;
}
public String getMyFather() {
return Father;
}
public String getMyMother() {
return Mother;
}
public String getMySon() {
return Son;

推荐阅读