黑马程序员---java之面向对象(一)
来源:互联网 发布:小学记单词软件 编辑:程序博客网 时间:2024/06/17 06:17
不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。
6> REP 重用发布等价原则
重用的粒度就是发布的粒度
7>CCP 共同封闭原则
包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包中的所有
一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么就要重用包中的所有类。
9> ADP 无环依赖原则
在包的依赖关系图中不允许存在环。
10>SDP 稳定依赖原则
朝着稳定的方向进行依赖
11>SAP 稳定抽象原则
包的抽象程度应该和其稳定程度一致。
(1)、如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。如:
package fruit;
class Fruit
{
String name;
String color;
String exterior;
int year,month,day;
public void DATE(int y,int m,int d){
this.year=y;
this.month=m;
this.day=d;
System.out.println("生产日期:"+y+"年"+m+"月"+d+"日");
}
public Fruit(){
}
public Fruit(String name){
this.name=name;
System.out.println(name);
}
}
class Apple extends Fruit{
private String producingArea="中国陕西";
public Apple(){
System.out.println("产地:"+this.producingArea);
}
public void show(){
color="红色";
exterior="椭圆型";
System.out.println("颜色:"+color+" "+"外型:"+exterior);
}
}
class Banana extends Fruit{
private String season="一年四季";
public Banana(){
System.out.println("产出季节:"+this.season);
}
public void show(){
color="黄色";
exterior="长条型";
System.out.println("颜色:"+color+" "+"外型:"+exterior);
}
}
public class Main {
public static void main(String[] args) {
Fruit F1=new Fruit("苹果");
Apple a=new Apple();
a.show();
new Fruit().DATE(2010, 5, 6);
Fruit F2=new Fruit("香蕉");
Banana b=new Banana();
b.show();
new Fruit().DATE(2010, 9, 10);
}
}
(2)、将匿名对象作为实参传递给一个方法调用。如:一个程序中有一个getSomeOne方法要接收一个Myclass类对象作为参数,方法如下:
public static void main(String args[ ])
{......}
可以用下面的语句调用这个方法。
getSomeOne(new MyClass());
- 黑马程序员-java学习之面向对象(一)
- 黑马程序员---java之面向对象(一)
- 黑马程序员——JAVA之面向对象(一)
- 黑马程序员——JAVA之面向对象(一)
- 黑马程序员 java面向对象(一)
- 黑马程序员 JAVA-面向对象(一)
- 黑马程序员--Java基础之面向对象总结(一)
- 黑马程序员--Java基础之面向对象一
- 黑马程序员——Java之面向对象(一)
- 黑马程序员—java面向对象一
- [黑马程序员]--Java语言面向对象(一)
- 黑马程序员 Java 面向对象一
- 黑马程序员 Java面向对象<一> 基础
- 黑马程序员-----JAVA面向对象(一)
- 黑马程序员-Java面向对象(一)
- 黑马程序员-----Java基础-----面向对象(一)
- 黑马程序员----面向对象之(一)----大框
- 黑马程序员_java基础之面向对象(一)
- Linux下解压rar的方法
- CentOs下L2tp+IPsec 配置与相关问题解决
- 关于.net编译过后的程序增加功能的一种实现方式_也可以说是.net exe注入,插件机制_开发记录
- 查看统计信息是否过期
- hibernate中Criteria和DetachedCriteria
- 黑马程序员---java之面向对象(一)
- 如何解决box2DTest中出现的不能运行问题
- 在c++11中你最吃惊的新feature是什么?
- 暑假自学Java
- 解决"window无法安装到这个磁盘。选中的磁盘采用GPT分区形式“的问题
- C++拷贝构造函数(深拷贝,浅拷贝)
- 今日作息及食谱(7.1)
- obj-c编程10:Foundation库中类的使用(1)[数字,字符串]
- 黑马程序员---java之高新技术基础加强篇