Object-c学习笔记(1)

本文介绍了Objective-C编程的基础概念,包括类的声明与实现的关系、语法注意事项及常见错误,并通过一个计算器类实例展示了方法声明与实现的过程。

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

说明:本人用的win8 系统装Code::Blocks练习OC。

1.类的声明和实现的关系图:

 @interface就好像暴露在外面的时钟表面

 @implementation就好像隐藏在时钟内部的构造实现


2.语法中要注意的地方

(1).成员变量不能在{}中进行初始化、不能被直接拿出去访问

(2).方法不能当做函数一样调用

(3).成员变量\方法不能用static等关键字修饰,不能和C语言混在一起

(4).类的实现可用写在main函数的后面,主要在声明后面就行了

3.一些错误的写法:

(1).只有类的声明,没有类的实现

(2).漏了@end

(3).@interface和@implementation嵌套

(4).两个类的声明嵌套

(5).成员变量没有写在括号里面

(6).方法的声明写在了大括号里面

4.OC方法和函数的区别

(1).OC方法只能声明在@interface和@end之间,只能实现在@implementation和@end之间。也就是说OC方法不能独立于类存在

(2)C函数不属于类,跟类没有联系,C函数只归定义函数的文件所有

(3)C函数不能访问OC对象的成员

(4)低级错误:方法有声明,但是实现的时候写成了函数

5. OC的方法要注意的地方:
(1).方法只有声明,没有实现(经典错误)
(2).方法没有声明,只有实现(编译器警告,但是能调用,OC的弱语法)
(3). 编译的时候:访问没有的成员变量直接报错,访问没有的方法,只是警告

 6.特别要注意:

(1).冒号也是方法名的一部分
(2).同一个类中不允许两个对象方法同名

7.代码实践:

#import <Foundation/Foundation.h>

/*
计算器类
*/

@interface Calculator : NSObject{
    @public
    double num;
}
//计算数的平方
- (double) square;
- (int) sumWithnum1:(int)num1 addNum2:(int) num2;
@end


//计算器的实现
@implementation Calculator
//计算一个数的平方
- (double) square{
    return num * num;
}
//针对两个数求和
- (int) sumWithnum1:(int)num1 addNum2:(int) num2{
   return num1 + num2;
}
@end

int main()
{
Calculator *c = [Calculator new];
//给计算器类成员变量赋值
c->num = 25;
//调用平方这个方法
double result = [c square];
NSLog(@"%.1f的平方是%.1f",c->num,result);

//调用求和这种方法:
int sum = [c sumWithnum1:23 addNum2:34];
NSLog(@"sum=%d",sum);
return 0;
}


代码效果图:




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值