黑马程序员---OC基础---类和对象

原创 2015年07月07日 00:02:49

------- android培训java培训IOS培训期待与您交流! ----------

1、类(class)和对象(object)

类(class):

类是具有相似内部状态和运动规律的实体集合(或统称、抽象)。类的概念来自于人们认识自然、社会的过程。在这一过程中,人们主要应用两种方法:有特殊到一般的归纳法和由一般到特殊的演绎法。在归纳的过程中,我们从一个个具体的事物中把共同的特征抽取出来,形成一个一般的概念,这就是“归类”;如:昆虫、狮子、爬行动物,因为他们都能动所以归结为动物。在演绎的过程中我们又把同类的事物,根据不同的特征分为不同的小类,这就是“分类”;如动物->猫科动物->猫->大花猫等。对于一个具体的类,它有许多具体的个体,我们就管这些个体叫做“对象”。类的内部状态是指类集合中对象的共同状态;类的运动规律是指类集合中对象的共同运动规律。

一个类由三部分构成:

类的名称:类名

类的属性:一组包含数据的属性。

类的方法:允许对属性中包含的数据进行操作的方法。

对象(object):

即指现实世界中各种各样的实体。它可以指具体事物也可以指抽象的事物。如:整数1、2、3、流氓陈水扁、苹果、飞机等等。每个对象皆有自己的内部状态和运动规律,如流氓陈水扁有名字、身高、体重等内部状态,具有吃饭、睡觉、打人、偷税、漏税等行为运动规律。在面向对象概念中我们把对象内部的状态成为属性、运动规律称为方法或者事件。

对象是系统中运行的实体。

对象就是类类型(class type)的变量。

定义了一个类,就可以创建这个类的多个对象。

一个类就是具有相同类型的对象的抽象。

消息(Message):

消息是指对象之间相互联系和互相作用的方式。一个消息主要由5部分组成:发送消息的对象、接受消息的对象、消息传递办法、消息内容(参数)、反馈。


OC中描述事物通过类的形式体现,类是多个同种类型事物的抽象,是概念上的定义。


例如:学籍系统:学生类和学生王五、陈六之间的关系:

所有的同学都有姓名、年龄、班级等信息。

我们也可以修改学生的姓名、年龄、班级信息。

所以可以吧学生姓名、年龄、班级--->抽象--->学生类的属性。

把学生姓名、年龄、班级的修改和实现--->抽象--->学生类的方法。

学生张三、李四、王五都是--->学生类的对象。

//.h头文件
//声明类名,继承的父类,相关属性(实例,)方法声明
#import <Foundation/Foundation.h>
//类名 Student
//继承的父类名 NSObject
@interface Student : NSObject// :冒号是切割
{
    //相关属性(实例变量)
    @public//表示类中的属性可以从外部访问和修改。
    NSString * name;//姓名
    int age;//年龄
    NSString * address;//地址
    NSString * hobby;//爱好
}
//方法的声明
-(void)sayHi;
-(void)eat;
-(void)walk;
@end
//.m文件
#import "Student.h"//不能用双角号"<>",双角号是系统的,""是自己定义的

@implementation Student
//方法的实现
-(void) sayHi{
    NSLog(@"我是来自%@%@,今年%d岁,喜欢%@",address,name,age,hobby);
}
-(void) eat{
    NSLog(@"%@也得吃饭",name);
}
-(void) walk{}

@end
//main函数文件
#import
#import "Student.h"//导入要使用的类
int main(int argc, const char * argv[])
{

    @autoreleasepool {
//        //创建类的对象
//        Student *stu=[Student alloc];
//        //初始化对象
//        stu=[stu init];
        //建议用法
        Student *stu=[Student new];//
        stu->name=@"张三";
        stu->age=15;
        stu->address=@"河北大学";
        stu->hobby=@"Lol";
        Student *stu2=[Student new];
        stu2->name=@"李四";
        stu2->age=17;
        stu2->address=@"河北警官学员";
        stu2->hobby=@"wow";
        //调用对象的行为
        [stu sayHi];
        [stu2 sayHi];
    }
    return 0;
}
一个类可以实例化多个对象。

抽象思想:如何把日常生活中的事物抽象成类?

方法:一般名词都是类(名词提炼法)。

如:坦克发射3颗炮弹轰掉了2架飞机。

类有:坦克,炮弹,飞机。类的方法:坦克类的发射炮弹。炮弹的轰。

又如:小明在公交车上牵着一条叼着热狗的狗。

类有:人,公交车,狗,热狗。类的方法:叼着。

版权声明:本文为博主原创文章,未经博主允许不得转载。

黑马程序员——Java基础测试题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 黑马程序员——Java基础测试题 第1题:以下代码哪个是正确的?为什么?   a. byte...
  • liu007004
  • liu007004
  • 2015年01月16日 12:49
  • 1350

黑马程序员释放了洪荒之力!iOS课程全套视频大公开!

从年初开始,整个互联网行业中就一直存在着两种声音--“互联网寒冬”及“iOS初级开发者的暴增”,而黑马程序员似乎并未受到其太大影响,依旧保持着一直以来所具备的优秀传统,努力研发全新的课程。一方面紧跟苹...
  • itcast_cn
  • itcast_cn
  • 2016年09月01日 11:09
  • 2247

黑马程序员---iOS基础---OC中类创建对象

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
  • wodepei
  • wodepei
  • 2015年08月01日 10:08
  • 1136

黑马程序员——IOS基础——OC面向对象六分类

分类:可以给某一个类扩充一些方法(不修改原来类的代码) 在不改变原来类内容的基础上,可以为类增加一些方法 注意: 1.不可以扩充成员变量,只能加方法 2.在分类方法的实现中可以访问原来类中声明...
  • kldxcr
  • kldxcr
  • 2014年04月02日 17:42
  • 624

黑马程序员——OC基础:类和对象

一、面向对象 1.什么是面向对象? 答:面向对象其实是现实世界模型的自然延伸,世界万物都是对象。应用到计算机编程中,面向对象是编程的一种开发思想,比如OC,C++,java等语言,相对应的是面向过程,...
  • Big_Zzq
  • Big_Zzq
  • 2015年04月27日 14:46
  • 297

黑马程序员----oc基础笔记----类和对象

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1、面向对象编程概念               面向对象:               按人们...
  • gaopanmdj
  • gaopanmdj
  • 2015年09月05日 14:16
  • 115

黑马程序员——OC语言基础---类和对象

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------ 一、NSLog函数使用方法 1、NSLog的介绍  NSLog是cocoa的框架中提供的...
  • lhp_heima
  • lhp_heima
  • 2015年09月30日 18:47
  • 231

黑马程序员——OC基础:类和对象

类:一类事物共同特征和行为的抽象 对象:类的具体的个体   类的定义:     1)类的声明(规定当前类的:类名、属性、行为)          @interface 类名:父类名 ...
  • gamhunter
  • gamhunter
  • 2015年05月29日 00:20
  • 219

黑马程序员--IOS基础:OC--类的定义和对象的创建

在面向对象编程中,对象是至关重要的。 在OC 中,通过类的定义来创建对象。类的定义可以用来描述对象的属性和行为。 For example: 定义一个person的类: perso...
  • wanderingman1988
  • wanderingman1988
  • 2015年02月27日 20:09
  • 202

黑马程序员--OC基础--浅谈类和对象

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-1、什么是类和对象类就是具有相似内部状态和运动规律的实体的集合(或统称、抽象)。 对象就是现实世界中各种各样的实...
  • qq_24842063
  • qq_24842063
  • 2015年06月26日 19:30
  • 161
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员---OC基础---类和对象
举报原因:
原因补充:

(最多只允许输入30个字)