文档章节

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


© 著作权归作者所有

共有 人打赏支持
下一篇: OC基础学习日志
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
OpenCenter Beta2 发布,php开源用户管理系统

让php开发人员只需专注业务模块的开发,从用户和后台管理中解放出来。开年以来第一个新版本,本次更新加入了 弹窗方式的快捷登陆选项 界面换肤插件 自定义积分(自定义积分类型,管理员对积分...

想天软件奕潇
2015/03/10
9.6K
9

没有更多内容

加载失败,请刷新页面

加载更多

Nextjs+React非页面组件SSR渲染

@随风溜达的向日葵 Nextjs Nextjs是React生态中非常受欢迎的SSR(server side render——服务端渲染)框架,只需要几个步骤就可以搭建一个支持SSR的工程(_Nextjs_的快速搭建见Next.js入门)...

随风溜达的向日葵
52分钟前
0
0
如何在 Linux 系统查询机器最近重启时间

在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名...

来来来来来
今天
3
0
Redis协议是什么样的

前言 我们用过很多redis的客户端,有没有相过自己撸一个redis客户端? 其实很简单,基于socket,监听6379端口,解析数据就可以了。 redis协议 解析数据的过程主要依赖于redis的协议了。 我们...

春哥大魔王的博客
今天
6
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxCool
今天
4
0
携程Apollo统一配置中心的搭建和使用(java)

一.Apollo配置中心介绍 1、What is Apollo 1.1 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到...

morpheusWB
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部