The following implementation ensure there is only SubClass instance.
- Create abstract SuperClass // forbid initiate
- create protected instance field // only access by subclass
- create protected constructor // only access by subclass
- create public access to instance field //
- defien subclassol
- create private constructor // only access by subclass
- override public method to access to instance field //
public abstract SuperClass{
protected static SuperClass instance=null;
protected SuperClass(){
// interface to subclass
}//:f
public static SuperClass(){
return instance;
}//:f
}//:c
public SubClass1 extends SuperClass{
private SubClass1(){
//prevent initiation
}//:f
public static SuperClass(){
if(instance==null){
instance=new SubClass1();
}//:if
}//:f
}//:c
没有评论:
发表评论