OC随笔一:类】的更多相关文章

1.oc中的类和构造方法 NSAutoreleasePool * pool =[[NSAutoreleasePool alloc] init]; NSAutoreleasePool是一个类,alloc相当于c++或者java中的new(为对象分配空间),init相当于java或者c++中的构造方法,对应的都要使用[]括起来. 2.NSLog(@"Hello,World!");类似于printf,格式化输出@+“字符串”=NSString*对象,为oc的字符串常量(这个地方有点不理解)…
OC -- 第一个类 类名:Car 属性:轮胎个数.时速 行为:跑 完整写一个类:类的声明和实现 1.    类的声明 代码: // NSObject 再Foundation框架中 #import <Foundation/Foundation.h> // NSObject 基类 @interface Car : NSObject { // 声明对象属性(成员变量.默认会初始化为0) @public int  wheels;  // 轮胎个数 int  speed;  //  时速 } // 方…
1.OC是在C语言基础上进行扩展得到的一门面向对象的程序设计语言,它也提供了定义类.成员变量和方法的基本功能.类可以被认为是一种自定义的数据类型,使用它可以定义变量,所有使用类定义的变量都是指针类型的变量,他们将会指向该类的对象.类用于描述客观世界中某一类对象的共同特征,而对象则是类的具体存在. 2.类的定义:OC中定义类分为两个步骤,接口部分和实现部分.OC学习篇之---类的定义 接口部分:定义该类包含的成员变量和方法 实现部分:为该类的方法提供实现 3.接口定义用@interface关键字,…
OC - 时间日期类NSDate //NSDate 时间日期类 NSDate 二进制数据流 { //1.获取当前时间 零时区的时间 //显示的是格林尼治的时间: 年-月-日 时:分:秒:+时区 NSDate *date = [NSDate date]; NSLog(@"当前零时区时间 %@", date); //2.获得本地时间 东八区 晚八个小时 以秒计时 NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow:8 * 60 * 60…
面向对象 面向对象思想是一种解决问题的思想, 不在是面向过程的去思考问题怎样解决.面向对象解决问题时首先要考虑需要找几个对象能解决这个问题. 常见的概念: * Object Oriented 面向对象 简称 OO * Object Oriented Programming 面向对象编程 简称 OOP 要有对象那么就需要先有类.因为对象是基于类创建的. OC类与对象 OC中的类是对对象的描述.完整的定义一个类包含两部分. * 类的声明 * 类的实现 声明使用关键字@interface声明一个类的属…
总结:        在oc中,我们要整出一个类来,首先需要一个.h头文件和一个.m实现文件.一般我们创建的类都继承了根类,因为根类帮我们实现了很多实用的方法,而类里面会有变量(属性) .函数(方法),与其它语言一样,oc中方法同样分为静态方法(类方法)和实例方法," + "表示类方法, " - "表示实例方法.             .h头文件为声明,没有实际的实现内容,具体实现应该在.m实现文件中编写.类方法不能使用实例变量,但可以直接类调用,实例方法则可以直…
一.类和对象的概念 1.1类 自己的定义: 具有相同或相似性质对象的抽象. 1.2 对象 自己的定义: 对象是人们要进行研究的任何物体,从最简单的整数到复杂的飞机 等均可以看做是对象. 举例说明: 类 :车 :对象:奔驰,宝马,劳斯莱斯 类 :人 :对象:小明,小红,李平 对象一般都具有属性:一个对象用数据值来描述他的状态: 一个叫xiaoming的对象,具有年龄和姓名的属性 age = 10 name = "xiaoming" 对象还有操作:对象的操作用来改变对象的状态,对象及其操作…
在oc中如果没有使用ARC的话,手动管理内存一定要注意处理好“野指针”,通常我们在释放指针的指向的地址时,都要将指针赋值为nil,这样能有效的防止野指针.常用的关键字:retain.assign .strong.weak 组合和继承都是提高代码可重用性的手段,在有些情况下,采用组合关系或者继承关系能完成同样的任务,组合和继承存在着对应关系:组合中的整体类和继承中的子类对应,组合中的局部类和继承中的父类对应.组合是has-a的关系,继承是is-a的关系.组合最主要的优势是不会破坏封装,是系统具有较…
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Helvetica } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "Heiti SC Light" } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "Times New Roman"; min-height: 27.0px } p.p4…
函数化对象(又称方程化对象)指的是所定义的类或对象不包含任何可以修改的状态. 本篇随笔就是着重记录函数化对象.定义了一个有理数类定义的几个不同版本,以介绍 Scala 类定义的几个特性:类参数和构造函数,方法,操作符,私有成员,重载,过载,条件检查,引用自身. 一.Rational类的定义 Rational类定义一个有理数.一个有理数可以表示为n/d,其中n.d都是整数(d != 0).与浮点数相比,有理数可以精确的表示一个分数,而不会有误差. 二.定义Rational Rational类暂定义…
原文标题:OC学习篇之---类的三大特性(封装,继承,多态) 我们都知道,面向对象程序设计中的类有三大特性:继承,封装,多态,这个也是介绍类的时候,必须提到的话题,那么今天就来看一下OC中类的三大特性: 一.封装 封装就是对类中的一些字段,方法进行保护,不被外界所访问到,有一种权限的控制功能,Java中有四种访问权限修饰符: 1 public,default,protected,private 访问权限依次递减,这样我们在定义类的时候,哪些字段和方法不想暴露出去,哪些字段和方法可以暴露,可以通过…
// // ReViewClass.h // hellowWorld // 本类是oc复习练手类 // Created by hongtao on 2018/3/26. // Copyright © 2018年 hongtao. All rights reserved. // #import <Foundation/Foundation.h> /** OC常量: 头文件里声明常量: extern NSString * const MyOwnConstant; extern NSString *…
只有继承和协议需要引IMPORT "头文件"; 必须接受marryprotocol协议, id<marryprotocol>基于类型的限定, 才能给实例变量赋值 @property (nonatomic, assign) id<marryprotocol> husband; 避免Optitonal没有实现的功能 if ([_husband respondsToSelector:@selector(driver)]) { [_husband driver]; }…
数组类的便利 1.for循环(大家都会的...) 2.NSEmunerator 3.for in 首先重点说下 第二种NSEmunerator枚举器,系统声明是 @interface NSEnumerator : NSObject <NSFastEnumeration> - (id)nextObject; @end @interface NSEnumerator (NSExtendedEnumerator) @property (readonly, copy) NSArray *allObje…
数组是一个有序的集合,OC中的数组只能存储对象类型, 但是对于对象的类型没有限制. 通过下标访问数组元素,下标从0开始. NSA…
// cc 文件名.m -framework Foundation 编译链接 #import <Foundation/Foundation.h> //枚举性别 typedef enum{ SexMen, SexWoman, SexUnknow } Sex; //枚举毛色 typedef enum{ FurColorBlack, FurColorRed, FurColorGreen } FurColor; //结构体日期 typedef struct{ int year; int month;…
多态使用总结: (1)没有继承就没有多态 (2)代码的体现:父类类型的指针指向子类对象 (3)好处:如果函数方法参数中使用的是父类类型,则可以传入父类和子类对象,而不用再去定义多个函数来和相应的类进行匹配了. (4)局限性:父类类型的变量不能直接调用子类特有的方法,如果必须要调用,则必须强制转换为子类特有的方法. 注意: id通用指针可以指向任何对象,指向谁就调用谁的方法(函数). @implementation ASPerson -(void)paint:(id)aShape{ [aShape…
一.创建一个时间 NSDate *date = [NSDate date]; // 打印出的时间是0时区的时间(北京--东八区) NSLog(@"%@",date); 二.日期格式化类NSDateFormatter 1>日期转化字符串 // 创建一个NSDate对象 NSDate *date = [NSdate date]; // 创建一个NSDateFormatter对象 NSDateFormatter *formatter = [[NSDateFormatter alloc]…
集合类的异同点 一.NSArray\NSMutableArray *有序 *快速创建(只有不可变数组可以):@[obj1, obj2, obj3]; *快速访问元素:数组名[i] *只能存放对象 二.NSSet\NSMutableSet *无序 *只能存放对象 三.NSDictionary\NSMutableDictionary *无序 *快速创建(只有不可变数组可以):@{key1 : value1, key2 : value2,...} *快速访问元素:字典名[key] *只能存放对象 四.…
一.NSString:不可变字符串/NSMutableString:可变字符串 1>字符串的常用创建方式: (1)NSString *s1 = @"Chaos"; (2)NSString *s2 = [[NSString alloc] initWithFormat:@"age is %d",20]; (3)C字符串-->OC字符串 NSString *s3 = [[NSString alloc] initWithUTF8String:"Chao…
类扩展 是在原有类的基础扩展一个新的属性和对象方法 但是方法的实现还是要写在原有的声明中,不然是不会被访问到的 类扩展可以扩展在新的头文件中,然后在主函数中导入. 利用类扩展可以变相的实现属性的私有化 就是用户可以访问到属性,但是不可以修改和赋值…
1. 类的定义 >用关键字@interface进行声名  @end 结束 >所有的类有一个基类NSobject >类名 也是标示符 第一个字母大写 如果多个字母组成 每个单词的首字母大写 >类名  冒号":"后  是父类(继承父类) >成员变量 (属性)  用大括号{ }包含起来 >方法的声明用两种  +号表示类方法(类名调用)  -表示实例方法9(对象调用) 以下是Person类的声明: #import <Foundation/Foundat…
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //NSDictionary字典对象,字典主要特征是一对一的key和value组成 //不可变字典 //初始化字典,一半key值是字符串对象,控制用NSNull对象表示 NSDictionary *dic1 = [NSDictionary dictionaryWithObject:@"velue1…
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //NSArray的初始化以及常用数组操作方法简单归纳 //不可变数组 //数组的元素只能是对象,如果是int和float的话,就用NSNumber转换一下才能用 //初始化的几种方式,可以一个元素.多个元素.从已有组复制.从文件.网址等 NSArray *arr1 = [NSArray arrayWith…
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { // NSNumber 数字对象: // NSNumber格式和NSString创建类似,只是后面的初始化函数要有针对性,这是框架里面内置的 NSNumber *intNumber = [[NSNumber alloc] initWithInt:18]; NSNumber *floatNumber = [[…
类的本质: 类的本质其实也是一个对象(类对象),只要有了类对象, 将来就可以通过类对象来创建实例对象 程序中第一次使用该类的时候被创建,在整个程序中只有一份.此后每次使用都是这个类对象,它在程序运行时一直存在. 类对象是一种数据结构,存储类的基本信息:类大小,类名称,类的版本,继承层次,以及消息与函数的映射表等 类对象代表类,Class类型,保存了当前对象所有的对象方法,当给一个实例对象发送消息的时候, 会根据实例对象中的isa指针去对应的类对象中查找 如果消息的接收者是类名,则类名代表类对象…
OC与C语言相比,体现的是一种面向对象的思想.OC完全兼容C语言 OC中大多数类前面都有前缀NS,来源于乔布斯NextStep团队,被苹果收购后保留了所有基本语法,合并到Foundation中 OC语言以.m为文件后缀 OC中绝对多数类继承自 NSObject  OC是单继承(可以使用协议来达到多继承的效果) 一.关键字 @ 格式化为对象 @"Hello, World!"  为字符串对象 @[@"123",@"234"]; 数组 @selecto…
都是注释哈 类的组成: C语言中函数分为声明和实现 OC中定义一个类也分为声明和实现, 也就是说以后我们在OC中定义类, 就是在写类的声明和实现 编写类的声明和实现: 声明 .h: /*  行为方法:      OC中的行为和C语言中的函数一样, 都是用来保存一段特定功能的代码      C语言中定义一个函数, 分为声明和实现, 声明写在.h中, 实现写在.c中      OC中定义一个方法, 也分为声明和实现, 声明写在@interface中, 实现写在@implementation    …
本系列的文章主要来自于个人在学习前锋教育-欧阳坚老师的iOS开发教程之OC语言教学视频所做的笔记,边看视频,边记录课程知识点.建议大家先过一遍视频,在看视频的过程中记录知识点关键字,把把握重点,然后再将零散的知识点整理出来.这样的学习方法会带来更多的收获,同时要多做练习,按照思路,默写.改写代码.在这里,感谢欧阳坚老师,学习你的课程使我走上了ios的开发之路. 一定要明确一个要从事的方向,要不然就会感到迷茫.学习ios开发,并且从事ios开发这个行业,这就是我的选择.看到我的博客系列文章,其中大…