黑马程序员-OC语言类和对象

本文介绍了面向对象编程的基本概念,包括类和对象的区别、类的声明与实现、如何创建对象等核心知识点。此外还探讨了面向对象编程的优势及Objective-C中方法的使用规范。

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

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


1.关于类和对象

1>类:具有相同(或者类似)属性和行为的对象都可抽象出一个类 ,类是抽象的。

     类名:(第一个字母必须大写,不能有下划线);

     属性:该对象具有的特性;

     行为:(功能);

2>对象:对象是根据类创建而来,是实体,是类的具体实现。

2.类的声明和实现

声明的作用:1>声明有哪些成员变量。 
                        2>声明有哪些方法。
 实现的作用:实现声明中声明的方法,定义方法的作用。

#import <Foundation/Foundation.h>
/*
 类的声明
 声明一个Car类
 (car是类名, :NSObject目的是让Car这个类具有创建对象的能力),也是继承NSObject类中所有属性 
 */
@interface Car : NSObject
{
    @public   //代表所有成员变量都可以被指针间接访问
    int wheels; // 多少个轮子
    int speed; // 时速
}
- (void)run; // 跑的行为
@end


注意:

OC方法中任何数据类型必须用小括号( ) 扩住。(OC小括号作用:扩住数据类型)


类的实现的格式

@implementation 类名


// 类的实现
@implementation Car
- (void) run
{
    NSLog(@"%i个轮子,%i时速的车子跑起来了", wheels, speed);
}
@end



3.创建对象

代码如下:

// 主函数
int main()
{
    // 创建车子对象
    Car *c = [Car new];
    c->wheels = 3;
    c->speed = 300;
    
    [c run];
    return 0;
}

1> main函数的代码分析、内存分析(对象在内存中有成员)

Ø   [Car new]每次都会创建出新的对象,并且返回对象的地址,那么就应该用一个指针变量保存对象的地址

Car *c = [Car new];

用一个指针变量c指向内存中的Car对象   

Ø   设置车子对象的属性

跟用指向结构体的指针访问结构体属性一样,用->

c->wheels = 3;

c->speed = 300;


4.面向对象的好处

➢ 更加接近人类的思考方式
➢ 只需要关注对象,不需要关注步骤

5. OC方法和函数的区别

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

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

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

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


6.方法注意点

   1>关于括号:oc方法中,括号只能括住参数类型,
   2>关于冒号:问题:一个形参对应一个冒号:,且冒号前最好有描述后面参数的语句
   3>关于方法名




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值