博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Objective-C入门
阅读量:5875 次
发布时间:2019-06-19

本文共 1629 字,大约阅读时间需要 5 分钟。

 厂长最近又有新计划,准备做iOS上的开发,要操作工们(其实就是我自己)学习Objective-C,准备为厂子下一步的发展做出巨大贡献。拿人钱财,替人消灾,又得花时间折腾一门语言。话说自从来到现车间,用过C、C++、C#、Python,还写过几句PHP、ASP,刚开始Linux和AIX平台,后来接手Windows平台,可谓万能的螺丝钉,哪里需要就往哪里插。可悲的是无一样称得上精通。

闲话少说,开始正题。本篇博客意在给有一些经验的C\C++新手做个Objective-C语法的简介,内容只是Objective独特的地方,至于继承、重写等基本概念和C++是类似的,想要深入学习,还是得巨资买苹果产品亲身实践,本人也是仅仅看了几页书,纸上谈兵而已。

Objective-C属于C的超集,所以基本的控制结构啊啥的都和C差不多,主要是涉及到面向对象的一些概念,Objective-C有自己独立的一套东西。

文件类型 

Objective-C的文件类型的设计和C++差不多,也分为头文件和源文件,头文件(以.h结尾)中包含类的定义,而源文件(以.m结尾)中则包含类中函数的实现。同时项目中还可以包含C\C++\Perl等代码文件。

类的定义

// .h文件#import 
@interface People: NSObject{ int sex;}-(int) sex;-(void) setSex:(int) s;@end
// .m文件@implementation People-(int) sex{    return sex}-(void) setSex:(int) s{    sex = s;}@end

上面对于成员变量sex的操作可以使用accessor methods实现,其本质上就是让编译器来帮你实现这些函数,减少工作量。

### Synthesized Accessor Methods ###

// .h文件#import 
@interface People: NSObject@property int sex;@end// .m文件@implementation People@synthesize sex;@end

### 类的继承 ###

@class ParentClass //前置声明@interface ChildClass: ParentClass@end

### Category的使用 ###

// category.h#import "People.h"@interface People (LiveOps)-(void) love: (People *) p;-(void) think;-(void) die;@end// category.m@implementaion People (LiveOps)-(void) love: (People *) p{}-(void) think{}-(void) die{}@end

### Protocol的使用 ###

// .h文件@protocol Living-(void) think;-(void) love;@optional-(void) getMarried;@end

category和protocol是有差别的。使用category的目的是在不修改原有类的前提下,为该类添加新功能,而且category中的函数不必全部实现,而protocol是提前约定好接口,虽然protocol中函数也可以可选实现,但是需要使用optional声明。

除此之外,C中的enum、struct、typedef、define等在Objective-C中都是可用的

今天就扯这些,收工休息

转载于:https://www.cnblogs.com/jimmychange/p/3498875.html

你可能感兴趣的文章
NestJS 脑图
查看>>
我的友情链接
查看>>
Html body的滚动条禁止与启用
查看>>
Tengine新增nginx upstream模块的使用
查看>>
多媒体工具Mediainfo
查看>>
1-小程序
查看>>
CentOS图形界面和命令行切换
查看>>
HTML5通信机制与html5地理信息定位(gps)
查看>>
Mind_Manager_2
查看>>
手动升级 Confluence - 规划你的升级
查看>>
汽车常识全面介绍 - 悬挂系统
查看>>
电子政务方向:We7.Cloud政府云门户
查看>>
虚拟机Centos7连接Internet
查看>>
ansible 基本操作(初试)
查看>>
更改tomcat的根目录路径
查看>>
51nod 1292 字符串中的最大值V2(后缀自动机)
查看>>
加快ALTER TABLE 操作速度
查看>>
学习笔记之软考数据库系统工程师教程(第一版)
查看>>
基本网络概念
查看>>
将 ASP.NET Core 2.0 项目升级至 ASP.NET Core 2.1 RC 1
查看>>