模板方法:在定义功能时,功能一部分是确认的,另一部分是不确认的或者后续会变化的。这时可以把不确定的部分暴露出去,定义成抽象类或者接口,由子类来完成。

abstract class GetDuring
{
	public void Gettime()
	{
		long start=System.currentTimeMillis();
		runcode();
		long end=System.currentTimeMillis();
		System.out.println(end-start);	
	}
	
	public abstract void runcode();//把未知的代码运行函数定义为抽象方法,让子类实现
}


class DoGetDuring extends GetDuring //子类继承了父类,有了Gettime和runcode两个方法,但runcode为抽象方法,子类需要复写此方法才能变为非抽象类
{
	public void runcode()
	{
		for	(int i=1;i<=1000;i++)	
		{
			System.out.println(i);
		}
	
	}

}


class  TmDemo
{
	public static void main(String[] args) 
	{
		DoGetDuring c1=new DoGetDuring();
		c1.Gettime();//子类直接调用Gettime方法,Gettime方法会调用子类复写的runcode方法。
	}
}

  

相关文章:

  • 2021-08-19
  • 2021-11-21
  • 2021-04-04
  • 2021-10-28
  • 2021-08-30
  • 2022-01-05
  • 2021-04-15
猜你喜欢
  • 2021-12-21
  • 2021-08-24
  • 2021-10-11
  • 2022-01-09
  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案