黑马程序员---OC基础---类和对象
来源:互联网 发布:电脑好多软件打不开 编辑:程序博客网 时间:2024/06/06 18:50
------- 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架飞机。
类有:坦克,炮弹,飞机。类的方法:坦克类的发射炮弹。炮弹的轰。
又如:小明在公交车上牵着一条叼着热狗的狗。
类有:人,公交车,狗,热狗。类的方法:叼着。
- 黑马程序员---OC基础---类和对象
- 黑马程序员——OC基础:类和对象
- 黑马程序员——OC基础:类和对象
- 黑马程序员--OC基础--浅谈类和对象
- 黑马程序员----oc基础笔记----类和对象
- 黑马程序员——OC语言基础---类和对象
- 黑马程序员---OC基础---OC简介、OC与C的差异、类和对象与方法
- 黑马程序员-IOS学习笔记-OC基础OC类和对象
- 黑马程序员---OC类和对象
- 黑马程序员--OC类和对象
- 黑马程序员-OC语言-类和对象
- 黑马程序员------OC 对象和类
- 黑马程序员--oc语言类和对象
- 黑马程序员---IOS基础---OC 中对象和方法
- 黑马程序员——OC语言基础---对象和方法
- 黑马程序员————OC基础——定义OC的类和创建OC的对象
- 黑马程序员——OC基础语法----类、对象、方法
- 黑马程序员—OC语言基础—类与对象
- TPC-DS 生成数据
- unity3d开源Ultimate MMORPG插件技术文档渣翻译第5页
- Object-Oriented Terms 面向对象术语
- SpringMVC form标签
- iOS层级结构
- 黑马程序员---OC基础---类和对象
- iOS蓝牙
- ZOJ-3261(Connections in Galaxy War)——并查集
- 数列求和
- Android控件系列之RadioButton&RadioGroup
- Matlab优化问题06—quadprog
- 设计模式学习--单例模式
- 全民Scheme(3):为什么就不讲道理呢,女人?
- css学习