OC学习心得之面向类和对象
来源:互联网 发布:东风21d知乎 编辑:程序博客网 时间:2024/06/08 19:34
Objective-c是c语言的拓展,它的原意就是在原始的c语言的主体上加入面向对象的特性。
1、面向对象和面向过程
2、类和对象
(1)类是一组具有相同(特征)属性和行为(功能)的事物的集合(抽象)。对象就是类的具体实现。世间万物皆对象。类其实就是一种数据类型,它的变量就是对象。
(2)类的定义
在OC中,类的定义分两部分:接口部分和实现部分;
接口部分(interface):声明了类与父类的名字、方法,实例变量(成员变量)。接口文件以.h为后缀的文件。
例如 Student.h
@interface Student : NSObject
{
@public
//以下是实例变量的声明
NSString * name;
int age;
NSString * address;//地址
NSString * hobby; //爱好
}
//是方法的声明
-(void) sayHi;
-(void) eat;
-(void) walk;
实现部分(implementation):包含了方法的实现,真正意义上定义并实现类的行为。实现文件以.m为后缀的文件。
注意:
编译器不要求将接口文件和实现文件的代码放在不同的文件中。每一个类用一对接口/实现源文件是一个良好的习惯。一个文件中可以声明和定义多个类。
如果类之间没有什么关系,最好不要把不同的类放在同一个文件书写。
例如 //Student.m
#import
@implementation Student
//以下是方法的实现
-(void) sayHi
{
NSLog(@"我来自%@的%@,今年%d岁,喜欢%@",address,age,name,hobby);
}
-(void) eat
{
NSLog(@“%@也得吃饭。”,name);
}
(3)创建和使用对象
1>对象的创建
内存分配:为对象动态的分配内存地址。
初始化:在内存中初始化空间。
例如:Student * stu =[[Student new];
说明:向类发送alloc消息,就是为该类分配一块足够大内存,用于存放实例变量,同时初始化内存,填上的初始值。
2>对象的赋值使用
例如://main函数
#import "Student.h"
int main (int argc, const char * argv[])
{
}
->赋值必须实例变量的修饰符是@public。实例变量的修饰符还有@protected和@private,系统默认实例变量的类型是@protected,对于这两种类型的实例变量,我们需要调用方法为其赋值。
广义上讲为实例变量赋值的方法成为设置器,取出实例变量的方法成为访问器。
设置器、访问器说明:
1. 设置器命名: set+首字母大写的实例变量名
2. 设置器参数不要与实例变量重名。
3. 读取器:与实例变量名同名,并且返回类型与实例类型一致。
- OC学习心得之面向类和对象
- OC学习心得之面向对象三大特征
- OC面向对象之---类、对象和方法
- OC面向对象和类
- OC之面向对象
- OC之面向对象
- 黑马程序员_iOS开发之OC之面向对象之思想、类和对象
- OC面向对象之第一个OC类
- 【OC语言基础】之面向对象开发(类和对象)
- OC面向对象之方法
- OC面向对象之封装
- OC面向对象之继承
- 面向对象OC之继承
- OC面向对象之-多态
- Java学习心得之面向对象(一)
- Java学习心得之面向对象(二)
- oc学习笔记(二)面向对象-类和对象
- OC基础1 --------------面向对象的思想 类 和 对象
- Day 8(11.15):随堂笔记
- ubuntu下 安装git
- 安装好maven,在dos下输入mvn -version, 提示不是内部命令的问题
- POJ 2253 Frogger
- ArcGIS API for javascript开发笔记(二)——解决ArcGIS Service中的服务在内网环境下无法进行javascript预览问题
- OC学习心得之面向类和对象
- 自定义控件(17)---布局方式组合系统控件,并封装自定义控件思想(自定义CheckBox)
- [转]UIModalPresentationStyle和UIModalTransitionStyle
- Flex 布局
- maven设置中ERROR: JAVA_HOME is set to an invalid directory
- HDOJ 1551 Cable master 【二分】
- 程序员养成之路--New Start
- HIT2813 Garden visiting【组合数】
- HDU 5378 Leader in Tree Land(树形背包+组合数学)