面向过程:事件为中心 面向对象(OO):事物为中心 面向对象编程(OOP)
类:一组具有相同特征和行为的事物的抽象. 类是有大小的.
对象: 就是类的实例 对象是唯一的 是具体的
OC中得类分两部分:
1.接口部分(.h) :声明(特征)
#import <Foundation/Foundation.h>
@interface Student :
NSObject
//1.接口部分(.h结尾)
{
//实例变量的列表(类的特征列表)
NSString * _name;//NSString定义一个字符串
相当于C的char *
NSString * _sex;
int
_age;
//整形的还是用int就行
}
//方法列表(类的行为列表,类的方法在接口部分,只是声明,不实现)
- (void)
study;//- (返回值) 方法名
- (void)
sleep;
@end
//一对文件中可以实现多个类
@interface Cat :
NSObject
{
NSString * _color;
}
- (void)
bark;
@end
2.实现部分(.m):方法的具体实现(行为)
#import "Student.h"
@implementation
Student
//实现部分:(.m文件)
//接口部分中的 所有方法 都必须在实现部分实现
- (void)
study
{
NSLog(@"我在学习"); //NSLog打印语句
相当于C的printf
}
- (void) sleep
{
NSLog(@"Zzzzzz");
}
@end
@implementation Cat
- (void)
bark
{
NSLog(@"miao");
}
@end
OC中得对象
创建对象分两步:1.内存分配:为对象分配内存空间,并返回首地址 2.初始化:在内存中
alloc开辟内存空间,内存会被填充0.
实例变量的使用: //1.类的内部
//在类的内部,实例变量在任何方法中都可以随意使用
//2.外部访问实例变量时,有可见度的设置
//三种访问权限(可见度)
//@public 公开的 表示实例变量可以 在外部 随意调用和改动
//@protected 受保护的
表示实例变量 在外部 不可以被调用和修改 OC中默认是protected
//@private 私有的 不可以
在外部 被调用和修改
作业:
1.需求:
(1)定义一个班级类。
实例变量:所属培训机构,班级名,班级人数、开班时间、授课老师名字。
方法:初始化、集体活动、开班会。
(2)定义一个老师类。
实例变量:名字、性别、年龄、正在教的课程、授课班级。
方法:初始化、讲课、留作业、验收作业、解决问题、自我介绍。
(3)定义一个学生类。
实例变量:名字、性别、年龄、学号、所在班级、任课老师、正在学习的课程。
方法:初始化、学习、做作业、提出问题、回答问题、自我介绍。
2.编程实现:在一个视图坐标系中(原点在左上角,原点向右为正x,原点向下为正y,坐标系宽320,高480),创建布置3个矩形对象。第二个和第三个矩形拼接显示的位置,刚好能够完全覆盖第一个矩形。输出这三个矩形的坐标x,坐标y,宽,高,周长,面积。矩形对象不要超出坐标系的范围。需求:
定义矩形类:
实例变量:坐标x、坐标y、宽、高、矩形中心点的坐标centerX、矩形中心点的坐标centerY、面积、周长。
方法:初始化、绘制(输出4个主要数据,面积、周长),计算周长、计算面积。
3.分数计算:任意的两个分数,对这两个分数的进行加、减、乘、除运算,并输出结果,
注:结果区分正负。
需求:任意的两个分数,对这两个分数的进行加、减、乘、除运算,并输出结果,注:结果区分正负。