------- IOS培训、android培训、期待与您交流! ----------
1、面向对象
Objective-c是c语言的母集合,它的原意就是在原始的c语言的主体上加入面向对象的特性。面向对象,简称OOP,它
是以事物为中心,参与事件的事物是核心,完成事件只是事物的一个小任务。
说直接点,就是程序只关心谁可以做什么,不关心你内部是怎么做的。
2.类是一组具有相同(特征)属性和行为(功能)的事物的集合(抽象)。对象就是类的具体实现,在面向对象的世界
里万物都是对象。我们是操控一个一个对象去完成某些事情。
3.在OC语言中,创建类和其他语言,如Java,C#是有区别的,例如C#创建一个类是:
public class CouponModel
{
成员变量...
方法..........
}
而在OC中,一个类的创建,是需要两部分的:
1> .h:类的声明文件,用于声明成员变量、方法。类的声明使用关键字@interface和@end。只是说明一下方法名、方法的返回值类型、方法接收的参数类型而已,并不会编写方法内部的代码。
2> .m:类的实现文件,用于实现.h中声明的方法。类的实现使用关键字@implementation和@end。
4.类中的方法:OC中的方法一般是一"-" 或者 "+" 开头,
+ 表示类方法(静态方法)
- 表示对象方法(动态方法)
5.类中的成员变量
@public 全局都可以访问
@protected 只能在类内部和子类中访问
@private 只能在类内部访问
6.下面试OC创建类的举例
在 .h文件里声明:
#import <Foundation/Foundation.h>
@interface Student : NSObject {
int age;
@public
int no;
int score;
@protected
float height;
@private
float weight;
}
// age的get方法
- (int)age;
// age的set方法
- (void)setAge:(int)newAge;
@end
该类的实现:
#import "Student.h"
@implementation Student
// age的get方法
- (int)age {
return age;
}
- (void)setAge:(int)newAge {
age = newAge;
}
- (void)setAge:(int)newAge andHeight:(float)newHeight {
age = newAge;
height = newHeight;
}
@end
7.对象的创建以及使用
内存分配:为对象动态的分配内存地址。
初始化:在内存中填上的初始值。
例如:Student * stu =[[Student alloc] init];
说明:向类发送alloc消息,就是为该类分配一块足够大内存,用于存放实例变量,同时初始化内存,填上的初始值。
使用代码案例:
#import "Student.h"
int main ()
{
Student * student = [[Student alloc] init];
student->age = @"20";
student->no = 1;
}