文档章节

OC基础学习日志

Anyi_安一
 Anyi_安一
发布于 2015/10/12 18:35
字数 338
阅读 26
收藏 1

课后练习题

定义Car,Bus,Truck为例题

main.m

#import <Foundation/Foundation.h>
#import "Car.h"
#import "Bus.h"
#import "Truck.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Car *car = [Car new];
        [car setWheel:22];
        [car setSpeed:33];
        [car describeCar:car];
    
        Bus *bus = [Bus new];
        [bus setWheel:14];
        [bus setSpeed:33];
        [bus setSeat:44];
        [bus describeBus:bus];
        
        Truck *truck = [Truck new];
        [truck setWheel:15];
        [truck setSpeed:56];
        [truck setWeight:99];
        [truck describeTruck:truck];
      
    }
    return 0;
}

Car.h

#import <Foundation/Foundation.h>

@interface Car : NSObject
{
    int _wheel;
    int _speed;
}
-(void)setWheel:(int)wheel;
-(void)setSpeed:(int)speed;
-(void)describeCar:(Car *)car;
@end

Car.m

#import "Car.h"

@implementation Car
-(void)setWheel:(int)wheel
{
    _wheel = wheel;
}
-(void)setSpeed:(int)speed
{
    _speed = speed;
}
-(void)describeCar:(Car *)car;
{
    NSLog(@"Car wheel is %d,Speed is %d km/h",_wheel,_speed);
}

@end

Bus.h

#import <Foundation/Foundation.h>
#import "Car.h"

@interface Bus : Car
{
    int _seat;
}
-(void)setSeat:(int)seat;
-(void)describeBus:(Car *)bus;

@end

Bus.m

#import "Bus.h"

@implementation Bus
-(void)setSeat:(int)seat
{
    _seat = seat;
}
-(void)describeBus:(Car *)bus;
{
    NSLog(@"Bus wheel is %d,Speed is %d km/h,Seat is %d ",_wheel,_speed,_seat);
}
@end

Truck.h

#import <Foundation/Foundation.h>
#import "Car.h"

@interface Truck : Car
{
    int _weight;
}

-(void)setWeight:(int)weight;
-(void)describeTruck:(Car *)truck;

@end

Truck.m

#import "Truck.h"

@implementation Truck

-(void)setWeight:(int)weight
{
    _weight = weight;
}
-(void)describeTruck:(Car *)truck;
{
    NSLog(@"Bus wheel is %d,Speed is %d km/h,weight is %d kg",_wheel,_speed,_weight);
}

@end

输出结果:

2015-10-12 18:20:09.872 继承多态练习(车)[1264:698570] Car wheel is 22,Speed is 33 km/h

2015-10-12 18:20:09.873 继承多态练习(车)[1264:698570] Bus wheel is 14,Speed is 33 km/h,Seat is 44 

2015-10-12 18:20:09.873 继承多态练习(车)[1264:698570] Bus wheel is 15,Speed is 56 km/h,weight is 99 kg


© 著作权归作者所有

共有 人打赏支持
Anyi_安一
粉丝 0
博文 3
码字总数 1493
作品 0
西安
使用Swift开发React Native组件(一)

使用Swift开发React Native组件(一) RN已经在圈子里流行很长一段时间了,网上相关的文章和介绍也很多,笔者很早之前也接触过一段时间,但也仅仅只是浅尝即止,这次正好有时间,所以准备深度...

黑血沸腾
2017/05/27
0
0
iOS狂暴之路(开始篇)---学习路线总结

一、学习路线规划 现如今移动端的两大平台Android和iOS是风光无限,但是又有谁能够保证这两个平台能够昌盛一辈子呢?谁也不敢保证其中一个在未来几年之后就会成为第二个诺基亚,所以我们现在...

jiangwei0910410003
2016/09/06
0
0
Object-C基础-01-概述

回到顶部 前言 目前来说,Objective-C(简称OC)是iOS开发的核心语言,在开发过程中也会配合着使用C语言、C++,OC主要负责UI界面,C语言、C++可用于图形处理。近来,流传Ruby、C#也可以开发iOS...

Corwien
2016/03/16
33
0
是时候正式进入 Swift开发了

Swift从14年发布到现在已经迎来了3.0的版本, 不得不说作为苹果公司推出的新语言, swift的未来是毋庸置疑的. 一种新的编程语言, 在快速发展的前期,变化是很大的, 这个勉强可以作为我们之前暂不...

Sunxb
2016/11/02
0
0
iOS开发博客前言

学了iOS三年多(工作方面就还不够,呵呵),所以其中看了很多文章,也从大牛那里学了不少东西,摘抄下来很多笔记,现在太乱太杂,需要整理一下。所以,接下来要写的东西,是我从学习到工作的...

kelolo
2016/06/20
19
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

深夜胡思乱想

魔兽世界 最近魔兽世界出了新版本, 周末两天升到了满级,比之前的版本体验好很多,做任务不用抢怪了,不用组队打怪也是共享拾取的。技能简化了很多,哪个亮按哪个。 运维 服务器 产品 之间的...

Firxiao
11分钟前
0
0
MySQL 8 在 Windows 下安装及使用

MySQL 8 带来了全新的体验,比如支持 NoSQL、JSON 等,拥有比 MySQL 5.7 两倍以上的性能提升。本文讲解如何在 Windows 下安装 MySQL 8,以及基本的 MySQL 用法。 下载 下载地址 https://dev....

waylau
45分钟前
0
0
微信第三方平台 access_token is invalid or not latest

微信第三方开发平台code换session_key说的特别容易,但是我一使用就带来无穷无尽的烦恼,搞了一整天也无济于事. 现在记录一下解决问题的过程,方便后来人参考. 我遇到的这个问题搜索了整个网络也...

自由的开源
今天
0
0
openJDK之sun.misc.Unsafe类CAS底层实现

注:这篇文章参考了https://www.cnblogs.com/snowater/p/8303698.html 1.sun.misc.Unsafe中CAS方法 在sun.misc.Unsafe中CAS方法如下: compareAndSwapObject(java.lang.Object arg0, long a......

汉斯-冯-拉特
今天
2
0
设计模式之五 责任链模式(Chain of Responsibility)

一. 场景 相信我们都有过这样的经历; 我们去职能部门办理一个事情,先去了A部门,到了地方被告知这件事情由B部门处理; 当我们到了B部门的时候,又被告知这件事情已经移交给了C部门处理; ...

JackieRiver
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部