子类继承抽象类 ,那在子类中是否要覆写抽象类中所有的方法,那如果只覆写抽象类中的一个方法 是否可行?
代码如下:interfaceA{publicvoidfun1();publicvoidfun2();publicvoidfun3();};abstractclassBim...
代码如下:
interface A{
public void fun1();
public void fun2();
public void fun3();
};
abstract class B implements A{
public void fun1()
{};
public void fun2()
{};
public void fun3()
{};
}
class C extends B{
public void fun1()
{
System.out.pritln(" ");
};
}
抽象类有一个性质就是继承它的子类必须覆写抽象类的全部方法。
interface A{
public void fun1();
public void fun2();
public void fun3();
};
abstract class B implements A{
public void fun1(){
System.out.println("fun");
}
public void fun2(){
.....
}
public void fun3(){
.....
}
}
class C extends B{
public void fun1(){
System.out.println("fun2");
}
}
class Dome01{
public static void main(String args[]){
C c = new C();
c.fun1();
}
}
适配器模式 展开
interface A{
public void fun1();
public void fun2();
public void fun3();
};
abstract class B implements A{
public void fun1()
{};
public void fun2()
{};
public void fun3()
{};
}
class C extends B{
public void fun1()
{
System.out.pritln(" ");
};
}
抽象类有一个性质就是继承它的子类必须覆写抽象类的全部方法。
interface A{
public void fun1();
public void fun2();
public void fun3();
};
abstract class B implements A{
public void fun1(){
System.out.println("fun");
}
public void fun2(){
.....
}
public void fun3(){
.....
}
}
class C extends B{
public void fun1(){
System.out.println("fun2");
}
}
class Dome01{
public static void main(String args[]){
C c = new C();
c.fun1();
}
}
适配器模式 展开
2014-11-06
展开全部
子类也可以是抽象类,这样就不用全部覆写了。否则必须要全部覆写。
更多追问追答
追问
后来我网上查了一下 这种模式叫适配器模式 所有方法为空 就可以这么写
追答
public abstract class Aunt
{
public abstract void Laugh();
}
public class JinSanpang
{
public void Cry()
{
Console.Write("我想哭!");
}
}
public class Adapter : Aunt
{
private JinSanpang jinSanpang = new JinSanpang();
public override void Laugh()
{
this.jinSanpang.Cry();
}
}
var adapter = new Adapter();
adapter.Laugh();
适配器模式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询