zoukankan      html  css  js  c++  java
  • Objective-C Polymorphism

    #import <Foundation/Foundation.h>
    
    @interface Shape : NSObject 
    {
      CGFloat area;
    }
    -(void)printArea;
    -(void)calculateArea;
    @end
    
    @implementation Shape
    
    -(void)printArea {
     NSLog(@"The area is %f",area);
    }
    
    -(void)calculateArea {
    }
    
    @end
    
    
    @interface Square : Shape
    {
      CGFloat length;
    }
    
    -(id)initWithSide : (CGFloat)side;
    -(void)calculateArea;
    
    @end
    
    
    @implementation Square 
    
    -(id)initWithSide : (CGFloat)side {
     length = side;
     return self;
    }
    
    -(void)calculateArea {
     area = length * length;
    }
    
    -(void)printArea {
     NSLog(@"The area of square is %f", area);
    }
    
    @end
    
    
    @interface Rectangle : Shape 
    {
     CGFloat length;
     CGFloat breadth;
    }
    -(id)initWithLength: (CGFloat)rLen andBreadth:(CGFloat)rBreadth;
    
    @end
    
    
    @implementation Rectangle
    
    -(id)initWithLength: (CGFloat)rLen andBreadth:(CGFloat)rBreadth {
     length = rLen;
     breadth = rBreadth;
     return self;
    }
    
    -(void)calculateArea {
     area = length * breadth;
    }
    
    -(void)printArea {
     NSLog(@"The area of Rectangle is %f", area);
    }
    
    @end
    
    
    int main(int ar, const char * argv[])
    {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];
      Shape *square = [[Square alloc]initWithSide:4.2];
      [square calculateArea];
      [square printArea];
      Shape *rect = [[Rectangle alloc]initWithLength:7.88 andBreadth:6.35];
      [rect calculateArea];
      [rect printArea];
      
      [pool drain];
      return 0;
      
    }
  • 相关阅读:
    JS设置Cookie过期时间
    linq to xml
    ToDictionary的用法
    为程序使用内存缓存(MemoryCache)
    NuGet的几个小技巧
    IIS 的几个小技巧
    在Visual Studio中使用NuGet管理项目库
    在ASP.NET MVC中,使用Bundle来打包压缩js和css
    在C#中使用WMI查询进程的用户信息
    WMI测试器
  • 原文地址:https://www.cnblogs.com/silva/p/5227815.html
Copyright © 2011-2022 走看看