多態の表現形式

4923 ワード

2つの主な体現がある:1、方法の重荷とカバーa)、重荷
public void show(int a)
{
     cout<public void show(string b)
{
cout<

b)、カバー
 class A{                    //    A
     public void fun1(){        //   fun1()  
     }
     public void fun2(){
     }
 };
 class B extends A{
     public void fun1(){        //          
     }
     public void fun3(){
     }
 };
 public class Pol{
     public static void main(String asrgs[]){
         B b = new B() ;        //        
         A a = b ;            //       
         a.fun1() ;            //          
         a.fun3() ;
     };

2、対象の多態性(上への転換と下への転換)a)、上への転換
 class A{                    //    A
     public void fun1(){        //   fun1()  
     }
     public void fun2(){
     }
 };
 class B extends A{
     public void fun1(){        //          
     }
     public void fun3(){
     }
 };
 public class Pol{
     public static void main(String asrgs[]){
         B b = new B() ;        //        
         A a = b ;            //       
         a.fun1() ;            //          
         a.fun3() ;
     }
 }

b)、下方転換
 class A{                    //    A
     public void fun1(){        //   fun1()  
     }
     public void fun2(){
     }
 }
 class B extends A{
     public void fun1(){        //          
     }
     public void fun3(){
     }
 }
 public class Pol{
     public static void main(String asrgs[]){
         A a = new A() ;            //           
         B b = (B)a ;        //          
         b.fun1() ;
         b.fun2() ;
         b.fun3() ;
     }
 }