继承错误(OC)

继承:当多个类出现部分相同实例变量和方法时,就要考虑用继承

继承的使用:将多各类中相同的实例变量,和方法提出来写成一个公共的父类

出错原因是:当前系统版本低于创建该工程的系统版本

将这里改为比你当前版本低的就可以

错误:实例变量重复

解决:删除掉实例变量

循环导入问题

Unknown type name “woman"

不能识别的类型Woman

导入#import头文件时,会将头文件中的内容赋值一份,而当使用Woman这个类时,该类还未定义,所以识别不了,典型的循环导入

使用该类时,不能把它当做一个类来使用,所以在 .h文件中使用@class Woman;将Woman声明为一个字符串,再使用,但是他不具备类中的内容,所以需要在.m文件中导入#import”Woman"

错误:循环导入

解决:头文件(.h文件)中导入改为@class “Woman” ,同时在.m文件(实现文件)中导入#import “Woman”文件

时间: 2024-08-08 01:27:01

继承错误(OC)的相关文章

java中的继承与oc中的继承的区别

为什么要使用继承? 继承的好处: (1)抽取出了重复的代码,使代码更加灵活 (2)建立了类和类之间的联系 继承的缺点: 耦合性太强 在OC中的继承是: 1.OC中不允许子类和父类拥有相同名称的成员变量名:(java中是可以的) 2.编译器从上往下执行,所以在子类前面至少应该要有父类的声明:如 @interface Worker : Person @end 3.OC中的子类可以拥有和父类相同名称的方法,在子类调用时,优先去自己的内部寻找,如果父类没有定义该方法,则继续在继承链上查找,直到找到为止,

OC教程2继承与复合

OC2 本章教程主要讨论OC的继承语法以及类的复合编程模式. OC继承语法 OC语言的动态特性 OC的复合模式 super关键字 1,OC继承语法 OC语法只支持单根继承,即一个类只能有一个父类. 继承关键字为: @interface 类目 : 父类名 例如我们昨天声明的三角形类 @interface Triangle : NSObject @end 表示Triangle类是继承与NSObject类.Triangle是NSObject的子类,NSObject是Triangle的父类. OC语法中

OC的三大特性:封装、继承、多态

封装:目前我的理解是将类声明里的实例变量“包裹”好,一旦“包裹”好,由类生成的对象也就“包裹”的“严实”了,这样外部的东西就不会随意修改对象的重要数据了,之前我们要想对类的实例变量赋值,是通过指针访问的,并且要在实例变量前面加上关键字@public,其实这个@public关键字像是把类里面的实例变量“赤裸裸”的暴露在外面,很不安全.那么不通过这种途径要想访问对象的数据咋办呢?set方法(setter)和get方法(getter)很好的解决了这一问题. set方法: 它是对象方法,肯定是用减号'-

OC中通过协议实现多继承

在OC中并没有多继承的概念, 但是我们可以通过协议来实现多继承 实例如下: #import <Foundation/Foundation.h> @protocol Add <NSObject> - (int)addA:(int)a b:(int)b; @end #import <Foundation/Foundation.h> @protocol Sub <NSObject> - (int)subA:(int)a b:(int)b; @end #import

OC中用协议实现的多继承

#import <Foundation/Foundation.h> @protocol Add <NSObject> - (int)addA:(int)a b:(int)b; @end #import <Foundation/Foundation.h> @protocol Sub <NSObject> - (int)subA:(int)a b:(int)b; @end #import <Foundation/Foundation.h> @prot

iOS开发——面试篇&amp;OC基本语法总结(面试)

OC基本语法总结(面试) C和OC对比 OC中主要开发在什么平台上的应用程序? 答:可以使用OC开发Mac OS X平台和iOS平台的应用程序 OC中新增关键字大部分是以什么开头? 答:OC中新增关键字大部分是以@开头 OC中新增加了那些数据类型? 答: Block类型 指针类型(Class, id类型) 空类型 特殊类型(SEL, nil) 面向对象特性是什么? 答:继承性,封装性,多态性 import和#include有什么区别? 答:import 的功能和 include一样, 是将右边的

OC脱变第三天

主要内容概括 标号 主题 内容 一 封装 面向对象三大特性;封装的概念/原因/好处/原则 二 *getter和setter setter / getter方法;注意点 三 自定义代码段 如何自定义代码片段 / 导入代码片段 四 *点语法 点语法基本使用/本质/注意 五 self关键字 类方法与对象方法中的self/全局变量成员变量局部变量/总结/使用注意 六 *继承 继承基本概念/OC中的继承关系以及如何实现继承/相关特性 七 Super super基本概念/作用/使用场景 八 *多态 多态概念

黑马程序员——OC语言基本语法知识(二)

一.基本使用 1.内存管理的范围:任何继承了NSObject的对象,对其他基本数据类型(int.char.float.double.struct.enum等)无效 2.对象的基本结构: *每个OC对象都有自己的引用计数器,是一个整数,表示“对象被引用的次数”,即有多少人正在使用这个OC对象 *每个OC对象内部专门有4个字节的存储空间来存储引用计数器 3.引用计数器的作用*当使用alloc.new或者copy创建一个新对象时,新对象的引用计数器默认就是1*当一个对象的引用计数器值为0时,对象占用的

OC基础--简介

OC简介: 1986年,BradCox(布莱德·考克斯)在第一个纯面向对象语言Smalltalk基础上写成了Objective-C语言. 1985年,被赶出苹果公司的Steve Jobs成立了NeXT公司,致力于开发强大且经济的工作 站.NeXT选择Unix作为其操作系统 1988年Steve Jobs获得了Objective-C的使用版权,使用Objective-C来编写NeXTSTEP操作系统,Objective-C使得设计NeXTSTEP操作系统更加容易 1994,NeXT与Sun共同制定