代理设计模式proxy:是指一个代理主题来操作真实主题,真实主题执行具体的业务操作,而代理主题负责其他相关业务的处理。
就像生活中的代理上网,客户通过网络代理连接网络。由代理服务器完成用户权限、访问权限等与上网操作相关的操作,而上网服务器完成的是基本的上网功能。
interface Network{ //定义Network接口
public void browse(); //定义浏览的抽象方法
}
class Real implements Network( //真实的上网操作
public void browse()( //覆写抽象方法
System.out.println("上网浏览信息");
}
}
class Proxy implements Netwoek{//代理上网
private Network netwoek;
public Proxy(Network network){
public void browse(){
System.out.println("检查用户是否合法");
}
public void browse(){
this.check();//可以同时调用多个与具体业务相关的操作
this.network.browse();//调用真实上网操作
}
}
public class TestDemo{
public static void main(String args[]){
Network net = null;//定义接口对象
net = new Proxy(new Real());//实例化代理,同时传入代理的真实操作
net.browse();//客户只关心上网浏览一个功能
}
}
对象、类、抽象类、继承、接口、实现等概念在开发中如何使用?
接口是类之上的标准。
如果现在要定义一个动物,动物肯定是一个公共标准,而这个公共标准可以通过接口来完成。
动物又分为卵生动物类和哺乳动物类,而这个标准属于对动物标准进一步细化,应该称为子标准,所以这种关系可以使用接口的继承来表示。
而哺乳动物又可以继续划分为人、狗、猫等不同的类型,这些由于不表示具体的事务标准,所以可以使用抽象类进行表示。
现在如果要表示工人或者学生这样具体的概念,肯定是一个具体的定义,则需要使用类的方式。
由于每一个学生或每一个工人都是具体的,因此就通过对象来表示。
Object类:
object类是所有类的父类,任何一个类定义时如果没有明确地继承一个父类,它就是object的子类,如果想要统一开发中的参数类型,就必须有一种类可以成为所有类的父类,这个类就是Object类.
1)object的3个覆写方法。
public String toString() //取得对象信息,将任意对象变成字符串
public boolean equals(Object obj)//对象比较
public int hashCode()//取得对象哈希码
在输出一个对象时不管是否调用toString(),其最终都是调用toString()将对象信息转化为String进行输出
在接口中定义的抽象方法是不是可以不用abstract声明?
可以,在接口中默认方法都是抽象的(abstract),不管是否使用public abstract,都一样,所以可以省略不写。
扫描二维码关注公众号,回复:
9461450 查看本文章