objective - c 类和对象

知识点

1.初步认识 OC

2.xcode使用

3.面向对象编程思想,类和对象

4.类的定义和使用

5.类的实例化--对象

6.声明和实现相分离

===========================================

1、需要理解的(理论部分)

第一部分:OC和面向对象

1.1、OC语言的历史,特点、重要程度

【什么是OC】

objective - c   在C语言基础上开发, 面向对象的语言;

注意C语言和oc语言语法的区别;

IOS, iphone, ipad …

【进入OC阶段需要注意的事项】

1、 oc语言和c语言的区别;

2、多敲代码, 多耐心调试程序;

3、通过几个数据模型的项目熟悉oc语法,面向对象思想;

4、类提供大量的方法, 总结积累的习惯;

=====================================================================

2、如何在Xcode中创建OC工程

【常用快捷键】

【编译】   command + b

【运行】   command + r

【调试框和打印框显示和隐藏】  command + shift + y

【停止】   command + .

【注释】   command + /

【代码对齐】   control + i

其他快捷键:

花:  command ,  ^ : control,  ?? : shift

2.2 OC兼容C, 区别于C语言的地方

各种文件后缀名 .c和.m和.mm的区别

.c  C源代码问价;

.m :  C+OC文件;

.mm : C++ + OC文件;

.h 头文件;

#import作用

把文件包括进来;

@”hello”和C字符串区别

oc字符串:  @“字符串”

C字符串:   “字符串”

NSLog函数和printf函数区别

//     NSLog                printf

//  1、默认会换行             默认不会换行

//  2、预期打印出OC字符串     预期打印出c字符串

//  3、打印出工程名和时间      不会打印出工程名和时间

//  4、可以打印oc对象 %@        不可打印oc对象

【NSLog各种数据类型的打印】

char   1 Byte

short                2 Byte

int                     4 Byte

long                 8 Byte

float                 4 Byte

double            8 Byte

BOOL

NSInteger

NSUInteger

CGFloat

练习:输出各种数据类型的字节数

【恢复快捷键】      command  + z

================================================================================

3、面向过程和面向对象:

C语言是面向过程的语言;

OC语言是面向对象的语言;

面向过程:  解决一个问题需要哪些过程(步骤);

面向对象:  解决一个问题需要哪些对象;

3.1、面向过程和面向对象

3.1.1 面向过程编程

【面向过程的语言】

1、省略主语;  (主语是cpu)

2、面向过程 = 数据 + 算法;

3、数学映射;

【例子】

面向过程

冰箱装大象;

1、打开冰箱;

2、把大象放进冰箱;

3、关闭冰箱;

打开电脑玩游戏;

1、打开电脑

2、开始玩游戏;

3、关闭电脑;

【面向对象的语言】

1、主语是对象, 主要因素就是对象;每个对象可以接受不同信息, 这些共同合作完成一件事情;

2、面向对象 = 对象 + 消息;

3、生活映射;

应用程序都是用面向对象的语言写;

转变:

【例子】

面向对象

冰箱装大象     (两个对象: 冰箱, 大象)

1、冰箱打开门;

2、冰箱存储大象;

3、冰箱关闭门;

打开电脑玩游戏:

1、电脑打开;

2、人玩LOL

3、电脑关闭;

面向过程:  解决一个问题需要哪些过程(步骤);

面向对象:  解决一个问题需要哪些对象;

举例:

1、造房子;     1、打地基;   2、 砌砖;    3、装修;

1、需要会打地基的张三; 2、会砌砖的李四; 3、会装修得老王;

2、接IOS项目;     1、 写iOS代码;  2、会美工;  3、会销售;

1、会写iOS代码的全蛋;     2、会美工的小花;   3、会销售的铁柱;

3.2 类和对象的概念

类:       对对象的描述, 是对象的一个模板;

对象:   对象是实实在在存在,看得见摸得着, 在内存占有存储空间,同过类创建;

一.认识类和对象

对象是面向对象程序的核心。那么如何理解对象呢,类和对象是什么关系。

7.类和实例的区别

1)类是对象的模板,类是静态的,本身并不占用内存,只是对某类事物的一个说明

2)对象是某个模板的具体化

3.2.1 从生活逻辑上

类             对象

人                张三,   李四, 老王

电脑               我桌面这台电脑, 你桌面那台电脑;

狗   小白, 旺财

超级英雄       钢铁侠,  绿巨人, 蜘蛛侠;

3.2.2 从封装的角度

结构体 = 对数据封装;

函数 = 对代码的封装;

类 = 对数据和 函数的封装;

函数(方法)

面向对象三大特征:   1、封装;   2、 继承; 3、多态;

3.2.3 从编程语言的角度

类是一种自定义的类型 没有占用内存

对象是使用类创建的变量 用类型定义的变量会占用内存

3.2.4 官方定义

类:同一类具有相同特征的事物的抽象;

对象:某个类类型的变量

===========================================

4. 需要记住掌握的(实战部分)

【如何设计一个类】

人类:

成员变量: 名字, 年龄;

成员方法(函数):吃饭, 睡觉,打豆豆;

在OC大多数关键字都是以@开头;

设计一个类分两部分:  类的声明, 类的实现;

4.1、【类的声明】

//@interface 类名 : 父类

{

// 成员变量

}

// 成员方法的声明;

//@end

4.2、【类的实现】

//@implementation 类名

实现成员方法;

//@end

4.3、【成员变量】

描述拥有什么;

4.4   【成员方法】

描述能做什么;

4.5、【如何创建对象】

[类名 alloc];

4.6、【方法的调用】

[对象 方法名];

需求 :  访问成员变量?  通过方法来访问成员变量:

成员方法详细说明:

1,无参 ,无返回值的成员方法 - (void) 方法名;

2,带参数   - (void) 方法名:(参数类型)参数名;

3,带返回值得方法 - (NSUInteger)getAge;

4,带多个参数的方法  - (void)便签:(参数类型1)参数名1 标签2:(参数类型2)参数名2;

关于命名的那些事儿:

1、成员变量命名: 以_开头;

2、方法名和成员变量命名: 第一个单词小写,从第二单词开始首字母大写;

3、类名:   每一个单词首字母大写;

练习:【test1】

写一个学生类:

成员变量:  name,学号,体重;

实现方法三个方法:  设置名字;设置学号;设置体重;

实现一个方法: 同时可以设置名字,学号,体重;

实现一个方法: 正在学习;

实现一个方法: 获取学号;

实现一个方法: 自我介绍;

注:什么是对象和什么是对象指针?

Student *s = [Student alloc];

对象指针:  s                            在栈区;

对象:  [Student alloc];        在堆区;

面向对象:

1、先找出对象;

2、列举出对象需要的成员变量和成员方法;

3、设计类;

4、通过类创建该对象;

5、让对象完成事情;

练习:

1、编写一个加法器,它能够接收两个整数int,然后输出两个整数的和;

一个对象 : 加法器;

需要成员变量: int ,int

方法: 加法;

以后项目中创建类肯定是每个类都在单独的文件 .h 和 .m中, 不会在main函数的上面创建类

.h 是类的声明;

.m 是类的实现;

使用该类(注意)   把类的.h头文件#import进来;

#import <系统提供.h>

#import“自定义的头文件.h”

1、如何设计一个类;

2、成员方法的语法;

3、如何创建一个对象;

4、调用对象的成员方法;

练习:

2、有一个长方形类,成员变量:长,宽,面积,周长;

方法有:设置长和宽,打印面积,打印周长;

3、设计狗类

属性:  名字,年龄,体重

方法:say说话,卖萌salesBud;

分别写三个方法,给三个成员变量赋值;

再写一个方法,同时给三个成员变量赋值;

再写一个方法,打印三个成员变量的值;

【作业】

1、已知一辆汽车速度是20Km/h,若令它行驶过一段1000km路程,需要多少小时?

2、创建一条公路,属性有长度和宽度,编写关于长度和宽度的设置和取值方法。

3、小明手里有两张牌,左手红桃A,右手是方片K,交换手里的两张牌,

问:交换之后,手里的牌各是什么?

时间: 2024-12-23 05:38:12

objective - c 类和对象的相关文章

iOS Objective -C Runtime 运行时之一: 类与对象

// --------------------------------------------------- 参考:南峰子的技术博客 http://southpeak.github.io //---------------------------------------------------- OC语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:我们编写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等.

iOS修炼之道:objective-c 类、对象和方法 1

1.类,对象和方法的概念 类是对象的独特表现,每个对象包含各自的私有信息,方法是改变和提供访问的这些数据的手段. 因此,objective-c 采用特定的语法对类和实例应用方法: [classOrInstance method]; 或者理解为消息的传递和接受 [receiver message]; 实例如下: 1 myCar = [[Car new] init]; 2 [myCar dive]; 详细描述关于一个处理分数Objective-c类 代码如下: 1 // 2 // main.m 3

《黑马程序员》类和对象(Objective - c)

一.类和对象的概念 OC中有两个很关键的概念就是类和对象,类和对象的关系就如同模具和用这个模具制作出的物品之间的关系.一个类为它的全部对象给出了一个统一的定义,而他的每个对象则是符合这种定义的一个实体,因此类和对象的关系就是抽象和具体的关系. 创建对象:创建对象需要现有类,对象需表述清楚应该具备的属性和功能(行为)  格式[行为执行者  行为名称] 创建类: 需关心三项条件: 事物名称(类名):人(Person) 属性:身高(height).年龄(age)等 行为(功能):跑(run).吃(ea

Objective -C Object initialization 对象初始化

Objective -C Object initialization 对象初始化 1.1 Allocating Objects  分配对象 Allocation is the process by which a new object is born. allocation 是新对象诞生的过程. Sending the alloc message to a class causes that class to allocate a chunk of memory large enough to

Oc(类和对象)(ClassAndObjict)

main函数 // //  main.m //  2-2 LessonClassAndObject // //  Created by lanouhn on 15/2/2. //  Copyright (c) 2015年 lanouhn. All rights reserved. // //import引用系统的头文件用 <>, 引用自定义类的头文件用 "" #import <Foundation/Foundation.h> #import "Car.

iOS RunTime运行时(1):类与对象

Objective-C语言是一门动态语言,他将很多静态语言在编译和链接期做的事放到了运行时来处理.这种动态语言的优势在于:我们写代码更具有灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一下方法的实现等. 这种特性意味着OC不仅需要一个编译器,还需要一个运行时系统来执行编译的代码.对于OC来说,这个运行时系统就像一个操作系统一样:他让所有的工作可以正常的运行,这个运行时系统就是Objc RunTime.objc RunTime 其实是一个RunTime库,他基本上是用C语言和汇编写的.

黑马程序员— OC基本语法、类和对象、三大特性

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 第一讲     OC简介及基本语法 Objective-C简称OC是在C语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,也就是可以在OC代码中混入C语言代码,甚至是C++代码.可以使用OC开发Mac OS X平台和IOS平台的应用程序.简单的介绍了一下OC,下面我们来看看OC的基本语法,学习OC之前我们先学习了C语言,因为OC是在C语言的基础上的一门开发语言,因此OC的很多基本语法

Java 第七章 类和对象 笔记

一.对象的特征--类的属性 每个对象的每个属性都有特定的值 对象的操作--类的方法 二.封装:对象同时具有属性和方法两项特性.     对象的属性和方法通常被封装在一起,共同体现事物的特性,     二者相辅相成,不能分割. 三.类和对象的区别:     类:抽象的概念,是一个模子,确定了对象的属性和方法.    对象:能够看得见摸得着的实物.具有静态和动态特征. 四.定义类的步骤:     1.定义类名      2.定义类的属性 访问修饰符 属性类型 属性名称=默认值:     3.定义类的

类与对象

1.1 类和对象的关系   为什么要采用面向对象思想进行程序设计与开发 1.可以实现代码的复用 2.符合人思考的方式   类和对象的定义 1.类的定义:用class关键修饰的叫做类 2.对象的定义:类名定义的数据类型   类和对象之间关系 1.由对象归纳为类,是归纳对象共性的过程 2.在类的基础上,将状态和行为实体化为对象的过程为实例化   1.2 定义类   定义类的语法,类主要由成员变量和成员方法构成(暂不提构造函数) eg: publicclassStudent { //成员变量 intn