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;
      
    }
  • 相关阅读:
    Ubuntu-Tensorflow 程序结束掉GPU显存没有释放的问题
    python 批量修改文件名
    linux 查看文件夹文件大小数目等信息
    linux sudo 系统环境变量 用户环境变量
    python安装h5py
    安装labelImg
    pyqt5 sip 段错误问题
    python:dist-packages && site-packages
    lua学习:lua中“类”的实现
    lua笔记
  • 原文地址:https://www.cnblogs.com/silva/p/5227815.html
Copyright © 2011-2022 走看看