Objc-C 知识点回顾 二 实例变量 、方法

本文深入讲解面向对象编程(OOP)的三大特性:封装、继承和多态,并详细介绍了实例变量的可见度、方法的作用范围及定义,以及初始化方法的使用等关键概念。

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

1.OOP的特性
    面向对象编程的三大特性:1.封装 2.继承 3.多态
    封装:高内聚,低耦合
    内聚:模块内部成员的关联程度
    耦合:模块之间的关联程度
2.实例变量的可见度
    修饰词的作用范围:从这个修饰词开始往下的实例变量
    (1)public
    公共的,可以在类的内部和外部访问
    内部访问:实例变量的名字
    外部访问:对象->实例变量名
    public违背了封装的思想,一般不会使用
    2.protected(默认值)
    受保护,不能从外部访问,可以在类和子类的内部进行访问
    内部访问:实例变量名
    外部访问:设置器,访问器
例如:
    [mike setAge:18];//调用设置器
    NSLog(@"%ld", [mike age]);//调用访问器

    可以使用点语法来调用设置器和访问器
    当点语法出现在赋值运算符(=)的左侧,调用设置器
    其他位置调用访问器
    3.private
    私有的,只能在类的内部访问,不能从外部和子类进行访问
    内部访问:实例变量名
3.方法
    (1)方法作用的范围
    a.公开的:可以在外部进行访问
    b.私有的:不可以在外部进行访问
    在类的.h中声明的方法,是公开的方法
    在类的.h中没有声明 或者 声明写在.m中的方法,是私有方法
    (2)方法的定义
    -:实例方法,由对象调用
    +:类方法,由类名调用
    注:类方法的内部,不能够访问实例变量
    (3)类方法和实例方法的优缺点
    a.实例方法,方法内部可以访问实例变量,调用方法:需要先创建对象,再用对象调用
    b.类方法,方法内部不可以访问实例变量,直接类名调用
    (4)种类
    a.无参数
    - 或 + (返回值类型)方法名
    b.一个参数
    - 或 + (返回值类型)方法名:(参数类型)参数名;
    c.多个参数
    - 或 + (返回值类型)方法名1:(参数类型1)参数名1 方法名2:(参数类型2)参数名2 方法名3:(参数类型3)参数名3 ...;
    (5)初始化方法
    a.必须是-实例方法
    b.返回值是id类型
    c.方法名以"init"开头
重写系统的初始化方法来为实例变量赋初值
由于系统已经声明过方法,重写初始化方法,只需要写实现部分
    (6)自定义初始化方法
例如:
- (id)initWithType:(NSString *)aType price:(CGFloat)aPrice;
    (7)如何判断两个方法是否相同
    a.+ / -,比较调用方法
    b.方法名
注:冒号(:)也是方法名的一部分
@class与#import的区别:#import是真实的引入头文件,@class是避免编译错误,防止循环引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值