Objective-C语法入门——与C/C++不同点

本文深入解析Objective-C的独特语法和编程规范,包括.h和.m文件使用、@property与@synthesize的声明和实现、单继承与协议、分类扩展、内存管理、深浅复制等关键概念。同时,介绍了Objective-C的数据类型、字符串格式、注释方式及程序运行流程,为初学者和进阶开发者提供全面指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

与c/c++不一样的地方

1) .h 和 .m; .m是实现文件; #import导入头文件; @class类声明。

2) @property getter/setter申明; @synthesis getter/setter实现

3) @interface child:parent<protocol1, protocol2>  类声明

---只能单继承

---可以多个protocol; protocol中声明的接口必须全部实现

4)   @interface  ExistClass (newname)  分类,可以在无需改动ExistClass源码的情况下,给ExistClass增加接口。 分类中声明的无需全部实现。 分类中会覆盖ExistClass中相同声明的函数

5) 内存管理!!!!!!!!

6) 深浅复制

7) 函数声明 (return type) funcName:(arg1 type) arg1name[    andArg2desc:(arg2 type) arg2name]

8) 函数调用  funcName: arg1 [andArg2desc: arg2 ]

9) id, (void *)类型。 任意类型都可赋给id, 可给id发送消息、只要id所指向的对象实际能处理该消息即可

10) 定义对象类型变量时, 都是指针形式。 ClassName * obj;这样子

11) 序列化: 需要实现指定接口的函数即可序列化和反序列化。
 

Objective-C语法概述

    简称OC

    面向对象的C语言
    完全兼容C语言
    可以在OC里面混入C/C++代码
    可以开发IOS和Mac OS X平台应用

语法预览
关键字

    基本上都是以@开头(为了与C语言区分)
    少部分不是以@开头

字符串以@开头

    @“kongqw” OC 语言字符串
    “kongqw” C 语言字符串

数据类型

    char
    int
    float
    double
    BOOL(YES/NO)

nil

    相当于C语言中的NULL 也就是0

注释

    // 注释
    /* 注释 */

屏幕输出

    NSLog(@”kongqw”);
    NSLog(@”age is %i”, 26);

OC程序运行步骤

    和C语言一模一样

    编写代码
        C语言源文件拓展名 .c
        OC源文件拓展名 .m

    编译程序
        生成.o,目标文件

    链接
        把项目中所有的相关联的.o目标文件和C语言函数库合并起来,生成一个可执行文件

    运行
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值