public class SomeClass extends BaseClass{
public Someclass(int var1, bool var2,String var3){
super(var1,var2);
}
}
public class SomeClass extends BaseClass{
public int aMethod(){
return super.aMethod() + 10;
}
}
void doSomething(int value){
base1::doSomething(value);
}
void doAnotherThing(int value){
base2::doSomething(value)
}
class Stream{
File *fp;
};
class InStream : public virtual Stream{
int open(File *);
};
class OutStream : public virtual Stream{
int open(File *);
};
class InOutStream : public InStream, public OutStream;
{
};
public abstract class SomeAbstract{
public int i = 0;
public int aMethod(){
return i;
}
public abstract void abstractMethod();
}
public interface anInterface{
public void aRequiredMethod();
public void anotherOne();
}
public class Implementation implements anInterface{
public void aRequiredMethod(){...}
public void anotherOne(){...}
}
The following summarizes the excellent discussion found in Object-Oriented Design Using Java , Dale Skrien, 2009
List list = new LinkedList();
List list = new ArrayList();
list.clear();
Object-Oriented Design Using Java, Dale Skrien, 2009
An Introduction to Object-Oriented Programming, Timothy Budd, 1991