Skip to content

QueenieCplusplus/ObjectC_overloadoverride

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 

Repository files navigation

ObjectC_overload

藉由方法多載實現類別的多型功能

多型的意思是相同訊息傳入後,給不同物件(同名方法的多載),會引發不同的動作和結果。例如父親類別稱為動物,其中有方法稱為叫,然而子類別分別為貓咪與狗狗,則繼承來的叫,會呈現不同聲音的結果。

                          覆寫方法 override
                        /
                編譯時期 
              /         \ 
          多型             方法多載 overload
              \
                運行時期

以下僅示範多載的實作,同一類別中,宣告並定義兩個相同名稱的方法。

QQQ.h

       #import <Foundation/Foundation.h>
       
       @interface QQQ: NSObject
       {
          int p;
       }
       
       -(void)setP: (int)k;
       -(int) setP;
       -(void)printP;
       
       @end

QQQ.m

       #import "QQQ.h"
       
       @implementation QQQ
       
       -(void)setP: (int)k
       {
          p = k;
       }
       
       
       -(int) setP
       {
          return p;
       }
       
       
       -(void)printP
       {
          NSLog(@"%i",p);
       }
      
       @end

main.h

      #import<Foundation/Foundation.h>
      #import"QQQ.h"
      
      int main(int argc, const char * argv[])
      {
      
        QQQ *q=[[QQQ alloc]init];
      
        [q setP: 99];
        
        [q setP];
        
        [q printP];   
      
             return 0;
      
      }

About

藉由方法多載實現類別的多型功能

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published