文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

解析高可用分布式键值存储 etcd 的原理

这篇文章将会介绍 etcd 的实现原理,其中包括 Raft 协议、存储两大模块,在最后我们也会简单介绍 etcd 一些具体应用场景。 etcd 的官方将它定位成一个可信赖的分布式键值存储服务,它能够为整...

小刀爱编程
17分钟前
1
0
在ubuntun虚拟机里安装goLang语言编程环境

Go语言是谷歌2009发布的第二款开源编程语言。 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 北京时间201...

JerryWang_SAP
18分钟前
5
0
c++builder导出函数export function DLL

__stdcall __export 即可,如: ulong __stdcall __export od_disasm(char *src,ulong srcsize,ulong srcip, t_disasm *disasm,int disasmmode){ return Disasm(src,srcsiz......

simpower
20分钟前
2
0
KDC服务安装及配置

阿伦哥-
23分钟前
1
0
mybatis-plus公共字段操作以及springboot2整合mybatis-plus

1、公共实体 对于User类中有而user表中没有的属性需要加第二个注解@TableField(exist = false),表示排除User类中的属性 所有新增公共字段加注解 并指定 @TableField(value = "corp_code",fi...

glen_xu
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部