package net.mindview.reusing;
public class A {
public A(){
System.out.println("A");
}
}
package net.mindview.reusing;
public class B {
public B(){
System.out.println("B");
}
}
package net.mindview.reusing;
public class C extends A {
B b = new B();
public static void main(String[] args) {
C c = new C();
}
}
package net.mindview.reusing;
public class Root {
private Component1 c1 = new Component1();
private Component2 c2 = new Component2();
private Component3 c3 = new Component3();
public Root() {
System.out.println("Root");
System.out.println("Root->c1");
System.out.println("Root->c2");
System.out.println("Root->c3");
}
}
package net.mindview.reusing;
public class Component1 {
public Component1() {
System.out.println("Component1");
}
}
package net.mindview.reusing;
public class Component2 {
public Component2() {
System.out.println("Component2");
}
}
package net.mindview.reusing;
public class Component3 {
public Component3() {
System.out.println("Component3");
}
}
package net.mindview.reusing;
public class Stem extends Root {
private Component1 c1 = new Component1();
private Component2 c2 = new Component2();
private Component3 c3 = new Component3();
public Stem() {
System.out.println("RootChild");
System.out.println("Stem->c1");
System.out.println("Stem->c2");
System.out.println("Stem->c3");
}
public static void main(String[] args) {
Root t = new Stem();
}
}
package net.mindview.reusing;
class Engine {
public void start(){}
public void rev(){}
public void stop(){}
public void Service() {
System.out.println("Engine.Service");
}
}
class Wheel {
public void inflate(int psi){}
}
class Window{
public void rollup(){}
public void rolldown(){}
}
class Door{
public Window window = new Window();
public void open(){}
public void close(){}
}
public class Car {
public Engine engine = new Engine();
public Wheel[] wheels = new Wheel[4];
public Door left = new Door(),right = new Door();
public Car(){
for(int i=0;i<4; i++){
wheels[i] = new Wheel();
}
}
public static void main(String[] args) {
Car car = new Car();
car.left.window.rollup();
car.wheels[0].inflate(72);
car.engine.Service();
}
}
package net.mindview.reusing;
//两栖动物
class Amphibian{
//交配
public void mating(Amphibian amphibian){
System.out.println("两栖动物交配");
}
}
//青蛙
public class Frog extends Amphibian{
public static void main(String[] args) {
Frog frog = new Frog();
frog.mating(frog);
}
}
package net.mindview.reusing;
//两栖动物
class Amphibian{
//交配
public void mating(Amphibian amphibian){
System.out.println("两栖动物交配");
}
}
//青蛙
public class Frog extends Amphibian{
public void mating(Frog frog){
System.out.println("青蛙交配");
}
public static void main(String[] args) {
Frog frog = new Frog();
frog.mating(frog);
}
}