iOS开发之oc--多态

多态:多种形态,每一个OC对象都有多态性 。

1.没有继承就没有多态

2.代码的体现:父类类型的指针指向子类对象

3.好处:如果函数\方法参数中使用的是父类类型,可以传入父类、子类对象

4.局限性:

1> 父类类型的变量 不能 直接调用子类特有的方法。必须强转为子类类型变量后,才能直接调用子类特有的方法

时间: 2024-10-12 03:06:21

iOS开发之oc--多态的相关文章

ios开发之OC基础-类和对象

本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再将零散的知识点整理出来.这样的学习方法会带来更多的收获,同时要多做练习,按照思路,默写.改写代码.在这里,感谢欧阳坚老师,学习你的课程使我走上了ios的开发之路. 一定要明确一个要从事的方向,要不然就会感到迷茫.学习ios开发,并且从事ios开发这个行业,这就是我的选择.看到我的博客系列文章,其中大

iOS开发之OC面试题总结

1.简述OC中内存管理机制 OC的内存管理机制是自动引用技术,内存管理的原则是谁开辟谁释放,分为ARC和MRC,MRC的话就是需要我们程序员手动管理内存,ARC不需要我们手动管理内存,系统会自行管理. 2.readwrite,readonly,assign,retain,copy,nonatomic .atomic.strong.weak属性的作用? readWrite读写特性, 可读可写. readonly只读, 只有getter, 没有setter. assign一般用于基本数据类型和ID类

iOS开发之oc(十七)--Foundation(2)NSString及简单的字符串读取和写入

NSString : 不可变字符串 NSMutableString : 可变字符串 // 重点注意:URL不能读取文件名为中文的文件,否则为null,读不出来,要换为英文 // URL读取文件才是万能 下面是一些功能的代码 1.创建和读取 void stringCreate() { /* 1.字符串的创建的方法 */ NSString *s1 = @"jack"; //NSString *s2 = [[NSString alloc] initWithString:@"jack

iOS开发之oc(十二)--内存管理ARC

(一)自动内存管理 --ARC 1>简单点说就是让编译器完成堆空间的引用计数的加减,自动释放,程序员不再写retain 和release等方法 2>OC的自动内存管理不同于java 的垃圾回收,而是在预处理是直接在应该保留的地方加上retain,在应该改释放的地方加上release,是直接添加代码 3>从效率上讲,ARC优于手动内存管理 2.1.1 ARC 的局限性 1>使用ARC可能因为代码的不规范,导致内存提前释放 2>导入第三方库,或者导入旧代码,这些代码不支持ARC

李洪强iOS开发之OC语言前期准备

OC语言前期准备 一.OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码. 可以使用OC开发mac osx平台和ios平台的应用程序. 拓展名:c语言-.c  OC语言.-m  兼容C++.-mm 注:其实c语言和oc甚至任何一门语言都只是我们为了实现一些功能,达到一些效果而采用的工具,抛开语法的差别外,我想最重要的应该是在解决问题的时候考虑的角度和方法不一样而已,然而这也构成了学习一门语言的重要性. 二.语法预览 (一)

iOS开发之oc(回顾笔记)--类与对象(1)

理论是枯燥的,所以有点长.哈哈哈~ 要学习一门语言,我们首先得了解它,那么 [什么是OC] objectiv-c  简称 OC,是一门基于C语言为基础编写而成的面向对象的语言.完全兼容C语言:可以在OC代码中混入C语言代码,甚至是C++代码: 可以使用OC开发Mac OS X平台和iOS平台的应用程序. (一)首先,先了解一下面向过程和面向对象: [面向过程] 1.面向过程的语言所有语句都是祈使句  2.面向过程的语言是数学逻辑的映射 3.面向过程语言的程序 = 数据 + 算法 C语言就是一门面

李洪强iOS开发之OC语言基础知识

OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类. 术语:OO面向对象.OOP面向对象编程   二.类 (一)关于类 类的设计只关注三个东西:类名.属性和方法 注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,且不能有下划线,如果有多个单词则使用驼峰标识.在对方法进行

IOS开发之OC篇-响应式编程Reactive Cocoa

一.Reactive Cocoa 介绍 Reactive Cocoa 是 iOS 开发的一个 "重量级" 框架 高大上的概念:响应式编程 核心概念:信号 Signal 官方网站:https://github.com/ReactiveCocoa/ReactiveCocoa 二.相关概念 1> 响应式编程 举个栗子,在一般程序开发时  a = b + c , 赋值之后 b 或者 c 的值变化后,a 的值不会跟着变化, 如果使用响应式编程,目标就是,如果 b 或者 c 的数值发生变化,

李洪强iOS开发之OC语言BLOCK和协议

OC语言BLOCK和协议 一.BOLCK (一)简介 BLOCK是什么? 苹果推荐的类型,效率高,在运行中保存代码.用来封装和保存代码,有点像函数,BLOCK可以在任何时候执行. BOLCK和函数的相似性: (1)可以保存代码(2)有返回值(3)有形参(4)调用方式一样. 标识符 ^ (二)基本使用 (1)定义BLOCK变量 Int (^SumBlock)(int,int);//有参数,返回值类型为int Void (^MyBlock)()://无参数,返回值类型为空 (2)利用block封装代

iOS开发之oc(二十二)--Foundation(7)NSValue、NSDate

NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue (一)NSValue值转换 #import <Foundation/Foundation.h> int main() { // 结构体--->OC对象 CGPoint p = CGPointMake(10, 10); // 将结构体转为Value对象 NSValue *value = [NSValue valueWithPoint:p]; // 将value转为对应的结构体 // [value pointValu