2.18学习记录 代理设计模式

代理设计模式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 查看本文章
发布了48 篇原创文章 · 获赞 9 · 访问量 7907

猜你喜欢

转载自blog.csdn.net/trh_csdn/article/details/104369526