概述
1 类的关系
1.1一般关系
主要是体现类的继承和实现
1.2关联关系
类之间是平级关系
1.3聚合关系
整体和部分的关系
1.4合成关系
比聚合关系强,整体对部分对象负责,掌管生命周期
1.5依赖关系
依赖总是单向的,关联可以是双向的,依赖的一方的属性不为被依赖的类。
1.6 简单的例子
有一个机房,机房有一台电脑。
电脑有开机关机状态,可以被打开,可以被关闭,被使用。
有个学生进入机房,使用电脑。
这样一个场景,使用Java语言模拟一下。
/**
* 机房类
*
* @author Guowx
* @date 2019/5/8
*/
public class PCRoom {
private Computer cp;
public Computer configPC() {
cp = new Computer();
System.out.println("机房配置了一台电脑...");
return cp;
}
}
/**
* 电脑类
* 2019/5/8
*
* @author Guowx
*/
public class Computer {
// 电脑的状态
private boolean status = false;
public void on() {
this.status = true;
System.out.println("电脑开机了...");
}
public void off() {
this.status = false;
System.out.println("电脑关机了...");
}
public boolean isOpen() {
return this.status==true ? true : false;
}
}
/**
* 学生类
* 2019/5/8
* Guowx
*/
public class Student {
private boolean checkStatus(Computer pc) {
return pc.isOpen();
}
public void isUsed() {
System.out.println("进入机房...");
PCRoom pcRoom = new PCRoom();
Computer pc = pcRoom.configPC();
if (checkStatus(pc)) {
System.out.println("电脑有人使用了...");
} else {
System.out.println("电脑没人使用...");
pc.on();
}
}
}
测试类
public class Test {
public static void main(String[] args) {
Student student = new Student();
student.isUsed();
}
}
结果:
进入机房…
机房配置了一台电脑…
电脑没人使用…
电脑开机了…
2 抽象类设计原则
一个设计者应力图遵循这些原则
- 具体类不是用来继承的
- 抽象类应该有尽可能多的共同代码
- 抽象类应该尽可能有少量的数据
3 继承的使用原则
3.1 里氏代换原则 Liskow Substitution Principle
定义——在一个程序A中,类型为T1的对象换成类型为T2的对象,程序P的行为没有发生变化,T2一定是T1的子类型。
Java语言本身就遵循里氏代换原则,不满足里氏代换原则编译会出错。
吐槽:其实就是Java中的多态,只是在模式的设计上叫里氏代换原则,脱离了Java语言,这个原则在设计中依然可以参考使用。
public class Person {
public static void main(String[] args) {
speakName(new Son()); // 传子类参数
speakName(new Father()); // 传父类参数
}
public static void speakName(Father person) { // 反过来的代换不成立
person.callName();
}
}
最后
以上就是老迟到龙猫为你收集整理的Java设计所遵循的准则的全部内容,希望文章能够帮你解决Java设计所遵循的准则所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复