0C——2.面向对象

来源:互联网 发布:淘宝买家等级提升 编辑:程序博客网 时间:2024/06/04 08:25

一、面向对象语言简介

    面向对象语言(Object-Oriented Language)是一类以对象作为基本程序结构单位程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分。面向对象强调的是解决问题需要哪些对象,对象具有哪些属性,而不是解决问题的步骤,但面向对象是基于面向过程的。面向对象开发的过程其实就是不断的创建对象,使用对象,指挥对象做事情。设计的过程其实就是在管理和维护对象之间的关系。



二、类与对象

1、OC的类

生活中描述事物无非就是描述事物的名称/属性和行为在 OC中使用类描述事物,并且该事物具有属性和行为,属性是类中的成员变量,行为是类中的成员方法。


2、类与对象的关系
在 OC中使用类描述事物,并且该事物具有属性和行为,属性是类中的成员变量,行为是类中的成员方法。
拥有相同属性的对象可以抽象出来一个类,类就是对象的抽象,而对象是实实在在的个体。

三、OC中类的创建与实现
在OC中,一个类的声明就是一个头文件(.h),一个类的实现就是一个实现文件(.m)
1、创建
(1)创建的函数是@interface class name:superclass
(2)使用关键字@interface开头,@end结尾
(3)红色部分字体替代成自己定义的类名,class是定义的类名,superclass是父类名称,OC中的基类是NSObject,NSObject的作用是使类具有创建对象的能力。
(4)属性声明
类的创建可以没有属性或行为或两者都没有,但是一定要在大括号中声明类的属性(成员变量),并且定义的变量都是被
保护的,必须加@public才能被访问
属性的命名规范是:以下划线“_”开头,并且以小写字母做第一个字母,其后的单词首字母大写
声明属性的时候不能对属性进行初始化
@interface Person:NSObject
{
@public
char *name;
int age;
}
(5)方法声明
【1】方法,也就是类的行为,可以通过对象来调用,必须在{}与@end之间,不可以有方法的实现
【2】方法类型符是“-”,必须后面加一个空格才能加返回值类型
【3】是方法名称的一部分,一个:对应一个参数,:前面的文字用来描述参数的作用的。:前面的说明符可以省略但不建议省略
【4】方法声明中的所有数据都要使用小括号括起来
【5】格式:方法类型标识符 (返回值类型)方法名:(参数类型) 参数名称 方法名:(参数类型)参数名称
注意:所有数据类型都用小括号括起来,一个参数对应一个冒号,冒号是方法名称一部分
a.无形参声明格式:方法类型符(返回值类型) 方法名称
- (void)show;
b.带有参数的方法
- (void)eat:(char *)food;
void为返回值类型,eat为函数名,char*为参数数据类型,food为参数名称
c.带有多个参数的方法
- (void) eat:(char*)food using:(char*)tools;

2、实现
类的实现必须以@implementation开头,必须以@end结尾
创建的类方法必须要在@implementation中实现,否则会报错
什么鱼实现不可以嵌套,一个类的内部也不可以声明其他类
对象方法中可以直接访问该类的成员变量
实现方法,拷贝@interface中实现的方法,并实现,如以上的show函数
- (void)show
{
NSLog(@"show");
}

四、对象的创建与应用
1、创建
使用new方法  
类名 * 对象名 = [类名 new];
Car * car = [Car new];
new的作用:
(1)为类的对象在堆中开辟存储空间
(2)将所有成员变量初始化为0,如果是对象类型就初始化为nil
(3)返回指向该对象的指针

2、应用
(1)调用类中的属性时,可用->去引用

  Soldier * s1 = [Soldier new];    //s1 0ffcc

   s1->_name = @"许三多";

   s1->_life =10;

(2)调用类方法时,直接对象名加类方法,有参数时加入参数

如:[Car run];


0 0
原创粉丝点击