iOS开发OC基础:OC基础概念总结,OC面向对象的思想

一、什么是OOP:

OOP(Object Oriented Programming):面向对象编程

二、面向对象和面向过程的区别:

面向过程编程:分析解决问题的步骤,实现函数,依次使用
面向对象编程:分解问题组成的对象,协调对象间的联系和通信,解决问题。

面向过程是以事件为中心,关心的是完成这个事件的详细步骤;
面向对象是以事物为中心,关心的是事物应该具备的功能,而完成一个事件只是事物所有功能里面的一个小功能
(以过程为中心,以对象为中心)

三、类和对象

对象定义了解决问题的步骤中的行为,不刻意完成一个步骤

类:具有相同特征和行为的事物的抽象

对象是类的实例,类是对象的类型:万事万物皆对象

(下面是我在学习的时候记的一些笔记)

四、setter、getter方法

//setter 方法(也叫设置器),给单一实例赋值,也就是该方法只有一个参数

//getter 方法(也叫访问器),获取单一实例变量的值,无参数,有一个返回值

//setter 方法的规范写法:- 号方法, set开头 + 实例变量名(去掉下划线,并且首字母大写) + 冒号 + 实例变量参数类型 + 实例变量名(去掉下划线),并且返回值类型为void

//getter 方法的规范写法: - 号方法,返回值类型和实例变量类型相同,方法名与实例变量名相同(去掉下划线)。

五、枚举类型:

//枚举也是一个构造类型,枚举类似于数学中的穷举法,列出了所有的可能,     //枚举是把人能够识别的标识符和计算机能够识别的数字结合起来。

//在使用枚举值时,系统会自动替换成对应的数字

//如果第一个枚举值,没有给定对应的整数值,则默认是从0开始,然后后边的枚举值所对应的整数值以前一个枚举值对应的整数值为基础,然后加1。如果后边的枚举值指定了对应的整数值,则以指定的整数值为准。

六、OC的一些基础知识:

/**  *  类的定义包含两部分:接口部分以及实现部分,接口部分写在 .h文件中,实现部分写在 .m文件中  */

/**  *  接口部分,@interface 开头 + 类名 + :(冒号表示继承) + 父类名     @end 结束     只要符合这种格式,都可以定义一个类的接口部分  */

// .m 文件是类的实现部分

/**  *  实现部分 以@implementation + 类名(要对哪个类实现)     以 @end 结束     只要符合这种实现的格式,都可以定义一个类的实现部分  */

//一个文件里面可以定义多个类,只要接口部分符合@interface开头 @end结束,实现部分符合 @implementation开头 @end结束 格式就可以定义多个类//本质上文件和类没有直接关系

//一般情况下,一个文件只定义一个类,并且文件的名字默认和类名相同

//NSLog输出到控制台,@是OC的标志,并且自带换行

OC消息发送机制:[receiver message]

- 对象调用的方法
+ 类调用的方法

id:对象类型

//创建一个 Person 类的对象

//创建对象分两步:

//1.在堆区开辟空间         Person *per = [Person alloc];

//2.初始化(基本数据类型置0,对象数据类型置nil) per = [per init];

//开辟空间并初始化:// Person * per2 = [[Person alloc] init];

//对象调用方法,方法调用采用消息发送机制,[receiver message]

//如果该方法是 - 号方法,则应该用对象调用,如果是 + 号方法,则应该用类调用。receiver为类或者对象,message为调用的方法名

//实例变量的可见度:

//[email protected]: 公共的,任何文件都可以通过指向操作符进行访问

//[email protected]: 私有的,只有在该类的 .m 文件中才可以访问,子类以及其他的文件不可访问

//[email protected]: 受保护的,除了该类和子类之外不可被其他文件访问     //系统默认是 @protected (受保护)的,

//面向对象的三大特性:封装,继承以及多态

声明变量不使用@public的原因:
1.使用@public关键字,暴露了类内部的细节;
2.不符合面向对象语言的三大特性之一——封装

不使用@private的原因:
不符合面向对象语言的三大特性之一——继承

类方法:只能类使用,+ 方法,类方法中不能使用实例变量;
实例方法:只能对象使用, - 方法。

//#import 可以避免重复导入,也就是说当我们#import多次同一个头文件时,只做了一次代码或文本的替换输出对象统一用%@格式。

iOS开发OC基础:OC基础概念总结,OC面向对象的思想,布布扣,bubuko.com

时间: 2024-12-25 03:32:29

iOS开发OC基础:OC基础概念总结,OC面向对象的思想的相关文章

iOS开发UI篇—Button基础

iOS开发UI篇—Button基础 一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状态 normal(普通状态) 默认情况(Default) 对应的枚举常量:UIControlStateNormal highlighted(高亮状态) 按钮被按下去的时候(手指还未松开) 对应的枚举常量:UIControlStateHighlighted disabled(失效状态,不可用状态) 如

IOS开发系列—Objective-C之基础概览

概览 前面我们已经用了几章内容进行C语言介绍,当然要通过几篇文章完整的介绍C语言的知识是不太现实的,例如C语言的文件操作.内存申请等我们都没有重点介绍,当然核心知识点基本都已经提到了,后面有时间我们会继续扩充.今天我们正式开始学习Objective-C,以后简称"ObjC",ObjC是在C语言的基础上加上了一层面向对象的特性,它完全兼容C语言,甚至可以混写C++.它是Mac OS X和IOS的主要开发语言,从IOS发布之后可以说ObjC的地位呈直线上升趋势,当前ObjC已经是仅次于C语

李洪强iOS开发之【零基础学习iOS开发】【01-前言】01-开篇

从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂.若遇到不明白的地方或者对此文有异议,望及时评论. 一.什么是iOS 要想学习iOS开发,首先要搞清楚什么是iOS.iOS其实是一款操作系统,就像平时我们在电脑上用的XP.Win7,都是操作系统. 那什么是操作系统呢?操作系统其实是一种软件,是直接运行在硬件(电脑.手机等)上的最基本的系统软件,任何

李洪强iOS开发之【零基础学习iOS开发】【02-C语言】02-第一个C语言程序

前言 前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触代码来学习C语言的语法.学习任何一门语言,首先要掌握的肯定是语法.学习C语言语法的目的:就是能够利用C语言编写程序,然后运行程序跟硬件(计算机.手机等硬件设备)进行交互.由于我们的最终目的是学习iOS开发,学习iOS开发的话必须在Mac系统下,因此我就在Mac系统环境下开发C语言程序,而不是在Windows环境下. 接下来,就在Mac系统环境下编写第一个C语言程序,最后把程序运行起来,跟计算机做一个小小的互动 一.编写第一个C语言程序-

李洪强iOS开发之【零基础学习iOS开发】【01-前言】02-准备

在上一讲中,介绍了什么是iOS开发.说简单一点,iOS开发,就是开发运行在iPhone或者iPad上的软件.这么一说完,应该有很多人就会产生一些疑惑,比如学习iOS开发是不是一定要买iPhone?需不需要买苹果电脑呢?学软件开发是不是一定要计算机专业的?因此,在这讲中,我会为广大有意学习iOS开发的朋友们进行解惑,说明一下学习iOS开发究竟需要那些准备. 一.程序设计语言 上一讲已经说到:要想开发一款软件,首先得学习一些相应的程序设计语言.至于iOS开发,需要学习的语言主要有:C.C++.Obj

李洪强iOS开发之【零基础学习iOS开发【01-前言】03-前景和难易度分析

一.iOS开发的前景 2012年3月份,苹果公司的市值已经突破5000亿美元,成为世界上市值最大的公司.5000亿是神马概念呢? 可以帮助陷入欧债危机的8个国家偿还债务 可以买下35个天安门广场.34座卢浮宫.109座圆明园 可以同时买下雅虎.戴尔.百思买.摩托罗拉.动视暴雪 超过105个国家一年的GDP 平铺在地上,能覆盖42%的美国领土 每个苹果员工可以分到660万美元 ...... 这个5000亿,真可谓“富可敌国”.在此,我们还要感谢苹果公司给雅安捐款5000万.其实,苹果对我们中国消费

iOS开发系列—Objective-C之基础概览oc格式化输出例子

概览 前面我们已经用了几章内容进行C语言介绍,当然要通过几篇文章完整的介绍C语言的知识是不太现实的,例如C语言的文件操作.内存申请等我们都没有重点介绍,当然核心知识点基本都已经提到了,后面有时间我们会继续扩充.今天我们正式开始学习Objective-C,以后简称"ObjC",ObjC是在C语言的基础上加上了一层面向对象的特性,它完全兼容C语言,甚至可以混写C++.它是Mac OS X和IOS的主要开发语言,从IOS发布之后可以说ObjC的地位呈直线上升趋势,当前ObjC已经是仅次于C语

iOS开发系列—Objective-C之基础概览(转载)

本文转载于:崔江涛(KenshinCui)http://www.cnblogs.com/kenshincui/p/3861300.html 概览 今天我们正式开始学习Objective-C,以后简称“ObjC”,ObjC是在C语言的基础上加上了一层面向对象的特性,它完全兼容C语言,甚至可以混写C++.它是Mac OS X和IOS的主要开发语言,从IOS发布之后可以说ObjC的地位呈直线上升趋势,当前ObjC已经是仅次于C语言.Java的第三大编程语言. 第一个ObjC程序 基本数据类型 第一个O

iOS开发UI篇——Button基础

一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状态 1. normal(普通状态) 默认情况(Default) 对应的枚举常量:UIControlStateNormal 2. highlighted(高亮状态) 按钮被按下去的时候(手指还未松开) 对应的枚举常量:UIControlStateHighlighted 3. disabled(失效状态,不可用状态) 如果enabled属

iOS开发UI篇----UI基础之Button基础

一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状态 normal(普通状态) 默认情况(Default) 对应的枚举常量:UIControlStateNormal highlighted(高亮状态) 按钮被按下去的时候(手指还未松开) 对应的枚举常量:UIControlStateHighlighted disabled(失效状态,不可用状态) 如果enabled属性为NO,就是处于