当前位置:首页 > 教学设计 > 一首关于Objective-C的入门诗_C需要入门
 

一首关于Objective-C的入门诗_C需要入门

发布时间:2019-08-07 10:53:26 影响了:

C没有类

这让人很疲惫

对象的说法很时髦

不就是继承封装组合人人会

右走是C++,这个大众都熟悉它

左走就是objective-c,躲在僻静僻静的麦金塔

本是同根生的C

如何高举面向对象的大旗

求同存异标新立异且听一一细分清

对象的C

是不同的C

类的处理与众不同重点要区分

不重复是我的口头禅

任何时候我只说一次告诉你我的地盘

[@begincommand] | @end就是我的指示

@interface classname 声明类

@implementation classname 实现类

@protocol interfacename 声明接口

就是这么简单,你的一定要明白

我先声明对成员变量和方法的关系有远近

成员变量大大括在我的怀

关系远近 public / protected / private 来区分

若不声明全默默受着保护

静态成员变量请不要放在此

成员方法我不太爱

前面拴着绳子置于类的变量列表外

减号就是普通函数

加号就是静态函数莫怪

函数的声明有点怪

我要一眼叫出名,包括函数名和参数名

其余的类型括起来,我有空再来慢慢看

函数名和参数名之间用:分隔开

多个参数的函数那就是更怪

逗号其实不是我的爱

后续的每个参数分隔用空白

每个参数形式如 标签:(参数类型)参数名

其实只要把函数名看作是第一个参数标签

你就能领悟其中的奥妙并在调用时喜爱

成员方法太多我才懒得区分亲疏远近

它们一律都是公之于众要好好的干活

谁若不服胆敢出头犯上

就踢出头文件打入冷宫永世不能露面试试看

所有的成员方法都是虚函数

改则重载,不改就继承

不用任何标记请放心大胆随便使用

对象的类,在继承层次上考虑才显得重要

所有的类最终都继承于NSObject

因为它给你创建自己生命的方法

不继承于NSObject的只能是接口protocol

它没有成员变量只有方法

它只有声明不用实现

这点和java很相似

当然类还有一些绝活可以让你开开眼

可以动态的扩充一个类 而不总是用继承

@interface CClassA(Category)|@end

@implementation CClassA (Category)|@end

源代码外包含该 类的头文件

就可以使用该Category中的方法

也可以动态的替换一个类

但是只限于用继承类来替换基类功能

[CInheritClass poseAsClass: [CBaseClass class]];

声明之后用基类创建的对象实际上行为都是继承类

所以一个类的完整声明如下:

@interface CClassA(Category): CBaseClass

类别,基类,接口一一具全

加上静态 虚函数

所有特性和C++均可对应

再加上所独有的特性

这一特性编译类语言很少有

设计得当完全可以实现动态调用dll切换功能

类的定义和使用,也有点怪

想想看一个对象的生命周期,该是如何办

创建很是别扭

这样就定义了一个类对象,

CClassName* pA = [[CClassName alloc] init];

能且只能返回对象指针

释放分为两种

自动释放声明后 [pA autorelease]; 以后可以不管

否则就必须配对 [pA release];

注意类的构造函数init可以捕获

但是析构函数却没有这点很让人意外

使用类也有多种情况

调用成员方法用中括号 int nRtn = [pA method:param1]; 而静态成员方法不需要对象 int nRtn = [CClassName method]; 调用成员变量还是C格式 pA->m_nCount = 1;

所有的类,都可以对应一个id类型

用来引用一个对象 id cur = sq;

或者用来引用一个对象指定的接口 id cur = sq; 然后就可以调用该对象的方法和指定接口方法

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3