10.面向对象三大特点

课程来自慕课网Visitor.zc老师


封装
  • 访问修饰符
@interface MyClass : NSObject
{
    // 成员变量访问修饰符
    // 默认 - @protected
    // @public - 公有,在类内类外都可以使用和继承
    @public
    int _classInt;
    // @private - 私有,在类内可以使用,类外无法使用或继承
    // @pretected - 受保护,在类内可以使用,类外无法使用,可以被继承
    // @package - 框架权限,在框架内相当于受保护,在框架外相当于私有
}
@property (nonatomic,strong)NSString *className;
// 方法没有访问修饰符 导入头文件并在头文件中声明方法,则可以在类外被使用
- (void)report;
@end
  • 使用指向来调用类中的共有变量
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        MyClass *mc = [[MyClass alloc] init];
        mc.className = @"我的类";
        // 使用指向来调用类中的公有成员变量
        mc->_classInt = 1001;
        [mc report];
        return 0;
    }
}
继承
  1. 父类中的私有成员变量无法被继承
  2. 父类中没有声明的方法无法被继承
  3. 父类中的方法调用了父类中的私有成员变量,子类继承了父类的方法,私有成员变量的操作依旧有效
多态
  1. 方法重写(修改父类中的方法)
  2. 不支持方法重载(函数名一样,参数返回值类型不同)
  3. 父类类型的变量可以接受子类类型
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 面向对象笔记 一、 对象在内存中的存放方法以及被调用过程 class文件首先被加载到方法区中的class文件内容区...
    VictorBXv阅读 484评论 0 2
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,686评论 0 11
  • 二、面向对象 1、面向对象思想: (1)概述:面向对象是相对于面向过程而言的,面向过程强调的是功能,面向对象强调的...
    佘大将军阅读 438评论 0 1
  • 自己乱了一阵子了,其实,也不算一阵子,没有提前规划好的问题,乱了很久很久了。 不喜欢现在的自己,那...
    薇安妮阅读 280评论 0 0
  • 又是一年天冷时,想起小时候在农村老家的冬日往事。 冬天是寒冷的季节,一切活动都少不了取暖。外出玩耍,...
    MssH_67ab阅读 773评论 0 2