OC语言基础之类的本质】的更多相关文章

一.类的本质 1: // 类本身也是一个对象,是个Class类型的对象,简称类对象 2: 3: /* 4: 利用Class 创建 Person类对象 5: 6: 利用 Person类对象 创建 Person类型的对象 7: 8: */ 二.类的加载顺序 1.当程序启动时,就会加载项目中所有的类和分类,而且加载后会调用每个类和分类的+load方法.只会调用一次. 2.当第一次使用某个类时,就会调用当前类的+initialize方法 3.先加载父类,再加载子类(先调用父类的+load方法,再调用子类…
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类. 术语:OO面向对象.OOP面向对象编程 二.类 (一)关于类 类的设计只关注三个东西:类名.属性和方法 注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,且不能有下划线,如果有多个单词则使用驼峰标识.在对方法进行类的…
OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类. 术语:OO面向对象.OOP面向对象编程 二.类 (一)关于类 类的设计只关注三个东西:类名.属性和方法 注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,且不能有下划线,如果有多个单词则使用驼峰标识.在对方法进行类的…
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementation.@end @public.@protected.@private.@selector @try.@catch.@throw.@finally @protocol.@optional.@required.@class @property.@synthesize.@dynamic self.sup…
1.封装的注意点 1: // 成员变量尽量不要用@public 2: // @public 3: int age; 1: //@public 2: // 只读(readonly):只允许外界访问我的no,不允许外界修改我的no 3: int no; // 只需要提供get方法 2.get.set方法 1: set方法 2: 1.作用: 提供一个方法给外界设置成员变量值,可以在方法里面对参数进行相应过滤 3: 2.命名规范: 4: 1> 方法名必须以set开头 5: 2> set后面跟上成员变量…
0.数组的分类 NSArray :不可变数组 NSMutableArray : 可变数组 1: // @[] 只创建不可变数组NSArray 2: /* 错误写法 3: NSMutableArray *array = @[@"jack", @"rose"]; 4: 5: [array addObject:@"jim"]; 6: */ 7: 8: 9: //NSArray *array = @[@"jack", @"r…
1.字符串的创建 1: NSString *s1 = @"jack"; 2: 3: //NSString *s2 = [[NSString alloc] initWithString:@"jack"]; 4: 5: NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d", 10]; 6: 7: // C字符串 --> OC字符串 8: NSString *s4 = [[NSS…
1.property功能用法 1: // @property:可以自动生成某个成员变量的setter和getter声明 2: @property int age;//可以直接免去变量的声明 3: //- (void)setAge:(int)age; 4: //- (int)age; 2.注意点 若使用了property但自己写了get或set方法,自己写的会把系统的对应方法覆盖掉. 1: - (void)setAge:(int)age 2: { 3:   4: } 5:   6: //- (in…
方法 1.对象方法都是以减号 - 2.对象方法的声明必须写在@interface和@end之间    对象方法的实现必须写在@implementation和@end之间 3.对象方法只能由对象来调用 4.对象方法归类\对象所有 函数 1.函数能写在文件中的任意位置(@interface和@end之间除外),函数归文件所有 2.函数调用不依赖于对象 3.函数内部不能直接通过成员变量名访问某个对象的成员变量 1: #import <Foundation/Foundation.h> 2:   3:…
1.NSDictionary字典的创建 1: // key value 2: // key -==> value 3: NSDictionary *dict = [NSDictionary dictionaryWithObject:@"v" forKey:@"key"]; 4: 5: NSArray *keys = [NSArray arrayWithObjects:@"k1", @"k2", nil]; 6: NSAr…
objc.h---------------- typedef struct objc_class *Class; struct objc_object { Class isa  OBJC_ISA_AVAILABILITY; }; typedef struct objc_object *id; #if !OBJC_OLD_DISPATCH_PROTOTYPES typedef void (*IMP)(void /* id, SEL, ... */ ); #else typedef id (*IMP…
OC语言类的深入和分类 一.分类 (一)分类的基本知识  概念:Category  分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件结构图: 在分类中添加一个方法 Study方法的实现 测试程序: (二)分类的使用注意 (1)分类只能增加方法(包括类方法和对象方法),不能增加成员变量 (2)在分类方法的实现中可以访问原来类中的成员变量: (3)分类中可以重新实现原来类中的方法,但是会覆盖掉原来的方法,导致原来的方法无法再使用(警…
一.基础语法 1> OC语言和C语言 C语言是面向过程的语言,OC语言是面向对象的语言 OC语言继承了C语言,并增加了面向对象的思想 以下内容只介绍OC语言与C语言的不同之处 2> 关键字 OC语言的关键字大部分以@开头,也有小部分一字母或下划线开头 3> 字符串 OC语言有自己特有的字符串,以@开头,区别于C语言字符串 4> BOOl类型 只有YES和NO两种取值 本质上是char类型,但理解为整型 BOOL类型是由 条件编译机制引进的 5> #import与#includ…
一.方法重写 /* 重写:当子类继承了父类的方法时,如果觉得父类的方法不适合,那么可以对这个方法进行重新实现,那么这个就重写. 注意:也就是说,一定只能发生在父类和子类关系中. 然后是子类重新实现父类的方法,绝对不是再写一个自己类的方法. 代码中原话叫:子类重写父类方法. 因为父类定义的方法不一定适用于子类. 注意:如果有重写,那么调用的是自己重写后的方法,如果没有重写,那么就调用的是父类的方法. 所以我们方法有一个执行的过程: 1.先去自己类里面找这个方法,如果找到就执行. 2.如果没找到,就…
一. 分类-Category 1. 基本用途:Category  分类是OC特有的语言,依赖于类. ➢ 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 ● 继承 ● 分类(Category) 2. 格式 ➢ 分类的声明 @interface 类名 (分类名称) // 方法声明 @end ➢ 分类的实现 @implementation 类名 (分类名称) // 方法实现 @end 3. 好处 ➢ 一个庞大的类可以分模块开发 ➢ 一个庞大的类可以由多个人来编写,更有利于团队合作 ➢ …
1,OC语言的前世今生 , 一, 在20世纪80年代早期,布莱德.麦克(Brad Cox)设计了OC语言,它在C语言的基础上增加了一层,这意味着对C进行了扩展,从而创造出一门新的程序设计语言,支持对象的创建和操作. 二,1985年,被赶出苹果公司的乔帮主成立了Next公司; 三, 1988年,Next计算机公司获得了OC语言的授权,并发展了OC语言库和一个开发环境,1994年,Next计算机公司(同年更名为Next软件公司)和Sun公司针对NEXTSTEP系统联合发布了一个标准规范,名为OPEN…
一.类.对象在内存中的存储 /* 内存分区: 栈:局部变量 堆:程序员自己写代码申请开辟的 程序员自己维护,编译器现在帮我们自动优化了,它在合适的给我们加上了释放空间的语句,所以我们现在写的对象不会造成内存泄露 全局区:所有的全局变量和静态变量 常量区:所有的常量 代码区:程序编译后的指令集 类是模板,肯定需要存在内存里面,因为实例化对象的时候需要根据这个模板来创建,那么存在内存里面,存在哪呢?? 类模板存在:全局区! 存的是:类的描述,还有所有的方法实现 每个对象都会有一个系统给我们的isa指…
Swift语言中,有很多封装类并没有,如果需要使用到,就需要桥接OC语言中的类,这时候就需要使用桥接头文件,一下是使用的步骤: 创建一个Swift项目Demo,然后新建一个OC语言的文件 如图: 创建一个BgImgView的类,选择对应的Object-C语言,点击Next按钮 会弹出提示框,询问是否需要配置一个桥接头文件,点击创建按钮(第三个) 这个时候会自动生成一个桥接头文件 现在开始在OC文件中添加需要使用的相关代码 .h文件 {    id _targetT;    SEL _selT;}…
OC语言前期准备 一.OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码. 可以使用OC开发mac osx平台和ios平台的应用程序. 拓展名:c语言-.c  OC语言.-m  兼容C++.-mm 注:其实c语言和oc甚至任何一门语言都只是我们为了实现一些功能,达到一些效果而采用的工具,抛开语法的差别外,我想最重要的应该是在解决问题的时候考虑的角度和方法不一样而已,然而这也构成了学习一门语言的重要性. 二.语法预览 (一)…
OC语言类的深入和分类 一.分类 (一)分类的基本知识  概念:Category  分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件结构图: 在分类中添加一个方法 Study方法的实现 测试程序: (二)分类的使用注意 (1)分类只能增加方法(包括类方法和对象方法),不能增加成员变量 (2)在分类方法的实现中可以访问原来类中的成员变量: (3)分类中可以重新实现原来类中的方法,但是会覆盖掉原来的方法,导致原来的方法无法再使用(警…
OC语言前期准备 一.OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码. 可以使用OC开发mac osx平台和ios平台的应用程序. 拓展名:c语言-.c  OC语言.-m  兼容C++.-mm 注:其实c语言和oc甚至任何一门语言都只是我们为了实现一些功能,达到一些效果而采用的工具,抛开语法的差别外,我想最重要的应该是在解决问题的时候考虑的角度和方法不一样而已,然而这也构成了学习一门语言的重要性. 二.语法预览 (一)…
002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/02.2.md 1.3 官网: https://golang.org/ref/spec#Constants 2 helloworld 2.1 Go使用package(和Pyt…
一.面向过程 1> 思想 面向过程是一种以过程为中心的最基础编程思想,不支持面向对象的特性. 面向过程是一种模块化程序设计方法 2> 开发方法 面向过程的开发方法是以过程(也可以说是模块)为研究核心 ,将不同的过程设计成不同的函数,然后按一定的流程调用即可. 3> 优缺点 优点 ① 能够编写高效的代码 ② 在小型的流程清晰的程序设计方面有一定的优势 缺点 ① 编写的代码可重用性低,开发效率较低 ② 难以或无法完成流程复杂的程序设计任务 二.面向对象 1> 思想 概念 ① 对象:人们…
Delphi 是以Object Pascal 语言为基础的可视化开发工具,所以要学好Delphi,首先要掌握的就是Object Pascal 语言.Object Pascal语言是Pascal之父在1985年于Apple Macintosh机器上实现的.后来Borland公司也在它的Pascal产品Turbol Pascal/Delphi中实现了Object Pascal.   注:该系列内容整理自以下链接. http://chanlei001.blog.163.com/blog/static/…
# C语言基础2015年03月26日10:04:411.    语言排行榜C——java——objective-C2.    进制:进制:进位机制.用普通的话讲,应该为人为的定义一种度量来标识一样东西.计算机常用的进制有:十进制.二进制.八进制和十六进制.➢    十进制:0-9(十个指头)(进制表示基数:10)➢    二进制:0,1(基数为2)➢    八进制:0-7(基数为8)➢    十六进制:0-9,A-F(基数为16)    可以有很多进制,比如分钟为60进制等等.3.    位权为…
内容提要: 1. C语言概述2. 数据类型.运算符与表达式3. C语言程序结构 4. VC6.0使用练习 知识详解01:C语言的历史 1. C语言与其它语言比较 汇编语言: (1).可直接对硬件进行操作,执行效率较高;依赖于计算机硬件,可读性和可移植性较差. (2).对硬件进行操作,执行效率高,用一串数字代码表示指令,更接近计算机使用的详细操作步骤.依赖于计算机硬件(比如写了一段汇编程序控制51单片机的IO,但是这段程序在AVR上可能起不了啥作用),对于汇编的查看也挺困难 一般高级语言:C++.…
一.封装 1.什么是封装 在程序上,隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将对象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员. 1> set方法 ① 作用:提供一个方法给外界设置成员变量值,实现对参数的相应过滤 ② 命名规范 *方法名必须以set开头 *set后面跟上成员变量的名称,成员变量名首字母必须大写 *返回值一定是void *一定要接收一个参数,而且参数…
1. 面向对象和面向过程思想 OC是面向对象的,C是面向过程的.面向对象和面向过程只是解决问题的两种不同思想 1. 面向对象和面向过程的区别 1) 以用电脑听歌为例子 a) 面向过程 ➢ 打开电脑 ➢ 播放电脑中的歌曲 ➢ 关闭电脑 b) 面向对象(不是相亲的“对象”) ➢ 电脑    ◇ 开机    ◇ 播放歌曲    ◇ 关机 2) 区别分析 ➢ 面向过程关注的是解决问题需要哪些步骤:面向对象关注的是解决问题需要哪些对象 ➢ 没有开发经验很难感受到它们的区别,两种思想都能达到解决问题的目的,…
- 技能 我的一项可以拿的出手的技能是萨克斯.但不敢说有多厉害,更不敢说比大多数人更好,只能说是还可以.我学萨克斯有5年左右的时间吧,这5年里印象最深刻的还是前两年.前两年主要是基础训练.我从最基础的音阶开始练习,每天练,练很多遍,之后开始稍微复杂一点,但还是比较基础的东西.就是这些基础反复练,练到很熟的程度以后才开始后面曲子的学习.开始我还很不理解为什么要进行这么长时间的基础的练习,但在之后的学习中却发现了其重要性.基础越牢,越熟练,在后面的学习就会越轻松,也就会越来越好.这个和娄老师博客中提…
20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法---做教练与做中学>中的标准:一项技能的掌握程度分为:新手/高级初学者/合格者/精通/专家.我认为自己尚且只达到合格者的程度,并不能说自己的水平凌驾于大多数人. 从4岁学到14岁,这些年的学习,还是带给我很多启发,要学好一项技能,要具备以下几点: 兴趣:兴趣是最好的老师.我小时候就对舞蹈很有兴趣,看着电…