描述
运用java抽象类,提取对象中的共性部分。
题目
汽车厂、鞋厂都是工厂,创建抽象的工厂类,工厂类中有一个抽象的生产方法。让汽车厂和鞋厂都继承工厂类,汽车厂生产的是汽车,鞋厂生产的是鞋。
题目解决思路
- 分析题目可以看出两者共有属性商品。
- 两者都具有生产方法,但方法的内容有所不同。
代码具体实现
抽象类代码:
/**
* 工厂类
*/
public abstract class Factory {
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public abstract String produce();//抽象的生产方法
}
汽车厂类代码:
/**
* 汽车工厂类
*/
public class AutoPlant extends Factory {
String productsName;//商品名称
public AutoPlant(String productsName) {
this.productsName = productsName;
}
@Override
public String produce() {//实现汽车生产方法
return this.productsName;
}
}
鞋厂类代码:
/**
* 鞋厂类
*/
public class ShoeFactory extends Factory{
String productsName;//商品名称
public ShoeFactory(String productsName) {
this.productsName = productsName;
}
@Override
public String produce() {//实现鞋厂生产方法
return this.productsName;
}
}
测试类代码:
/**
* 测试类
*/
public class Test {
public static void main(String[] args) {
AutoPlant autoPlant = new AutoPlant("汽车");
autoPlant.setName("汽车厂");
System.out.println(autoPlant.getName()+"生产的是"+autoPlant.productsName);
System.out.println("-------------------");
ShoeFactory shoeFactory = new ShoeFactory("鞋子");
shoeFactory.setName("鞋厂");
System.out.println(shoeFactory.getName()+"生产的是"+shoeFactory.productsName);
}
}
运行结果如下:
汽车厂生产的是汽车
--------------------------
鞋厂生产的是鞋子
以上案例运用 Java 抽象类抽取共性内容,子类继承抽象类并实现方法。