序言
前段时间开始学习OC后, 学的不好, 就没更新博客了, 最近终于告一段落了, 在学习UI的同时复习下OC.
第一讲 类和对象
概述
Objettive - C 简称 OC , 是扩充自C语言的面向对象编程.
OC的特点 :
1. 是C语言的超集, 允许在OC中使用C语言的源代码, 编译器兼容C语言
2. 具备完善的面向对象特性
3. 包含一个运行时系统
4. 类库丰富
面向对象编程 OOP (Object Oriented Programming)
面向对象语言 C++ Java C#
概念 :对象 类 封装 继承 多态
面向对象 和面向过程的区别
面向对象侧重于解决问题的过程中有多少个角色参与, 这些角色做了啥,而面向过程侧重于解决问题需要实现那些步骤
类和对象
类和对象是面向对象的核心.
类是指具有相同行为和特征的事物的的抽象. (不是具体指哪一个, 而是指哪一类)
对象是类的实例, 也就是一个具体的事物.(一个而不是一类)
使用
开发中, 我们要先定义类再创建对象
其中, 类的定义要放在.h文件中, 而类的实现要放在.m文件中
定义的部分也叫做接口, 类似于说明书, 是对外部声明类的特征和行为的
写法有多种, 一般用以下的的两种方法写
#import <UIKit/UIKit.h>
@interface LoginView : UIView
{
UITextField *userNameTF;
UITextField *passwordTF;
UIButton *loginBT;
UIButton *registBT;
UIButton *findBT;
}
@end
#import <UIKit/UIKit.h>
@interface LoginView : UIView
@property (nonatomic, retain) UITextField *userNameTF;
@property (nonatomic, retain) UITextField *passwordTF;
@property (nonatomic, retain) UIButton *loginBT;
@property (nonatomic, retain) UIButton *registBT;
@property (nonatomic, retain) UIButton *findBT;
@end
前者多用于自动内存管理和OC初级, 后者多用于手动内存管理.
实现部分
实现类的行为
- (void)login:(Button *)aButton{
NSLog(@"登陆成功");
}
其中, login 前面括号内的数为返回的参数类型, 如果为void则无返回值, :后面的数为参数类型, 括号后面的字符串则是,在实现过程中参数的名字.
初始化
- (id) init{
_age = 18;
return sell;
}
初始化表示创建这个实例变量的时候给他赋的初值.