不得不说,接触编程过后,我的生活从来没有这么规律过,每天按时吃早中晚的饭,每天早九晚九的学习,我就在想我的大学生活怎么就没有这么认真过呢?算了还是不提大学了,惭愧的狠。
说正事吧,我学的ios软件开发,在这里之前的一个星期,把我曾经仅学了其三分之一的C语言基本完整的学了一遍,七天学习加复习相当于我曾经的一学期!这意味着什么,还是意会吧。然而C语言只是学习ios开发的桥梁,通过C语言过度到Object-c语言简称Oc,Oc才是进入ios开发大门的钥匙和基石。之前老师一再强调,基础一定要打好,稳才能走得远。想来是很有道理的。
通过这几天接触Oc语言,我从小白进化到了菜鸟,对这门语言有了一定的认知。我们知道C语言是面向过程的语言,在利用c语言编程时,我们考虑的是解决问题的步骤,今儿一步一步通过函数调用实现所需要的功能,从开始定义到执行再到结果的整个过程。而Oc语言是面向对象的,何为面向对象,以我现在的理解,面向对象是把一个问题定义为一个类,再分解成各个对象,通过对象调用一个类的行为方法,再表现出来。比如说,实现一个计算两点间距离的功能,用面向过程的C语言来编写,实现此功能可以分为1.输入两个点2.计算3.输出结果,代码如下:
//1.输入两个点
printf("请输入两个点");
float x1,x2;
float y1,y2;
scanf("%f %f %f %f",&x1,&x2,&y1,&y2);
//2.调用函数计算并执行
float a,distance;
a = pow (x1 - x2,2) + pow(y1 - y2,2);
distance = sqrt(a);
//3.输出结果
printf("两点间距离=%f",distance);
而面向对象则是把坐标系定义为坐标点的一个类,其中x和y为这个类的属性,计算两点距离为类中的方法,坐标系中的点则为对象,通过点对象调用类中的方法来实现功能。具体内容不作描述了。
就目前来说,我能体会出面向对象具有良好的可扩展性和可修改性。毕竟刚接触Oc,不过我想我有足够的兴趣去进一步认知它。我喜欢编程,喜欢其思考问题的方式,解决问题的喜悦。我知道现在还是菜鸟,可是,努力去成为大鸟又有何不可呢,感兴趣并且坚持才是最主要的。
成功路上的人不多,因为坚持的太少。
有关Oc语言学习的一些感受及对面向过程和面向对象的理解
时间: 2024-10-26 09:42:58
有关Oc语言学习的一些感受及对面向过程和面向对象的理解的相关文章
黑马程序员——oc语言学习心得—— 属性声明和赋值
黑马程序员——oc语言学习心得—— 属性声明和赋值 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 1,在oc中所有类继承与终极父类Object2,声明字符变量采用N是string *_xxx 实例变量一般以下划线开头3,在oc中方法以+ -号区分 -号开头是实例方法或对象方法 +号开头是类方法 前置用对象调用 后者用类名调用4,在xcode4以后声明@property 不用在写@snysize 自动生成get.set方法5,属性
黑马程序员—oc语言学习心得—block
黑马程序员—oc语言学习心得—block -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 1,程序一般用typedef定义一个block类型 然后调用 typedef void(^xxx)(); 可使用助记符 inlineblock 2,Block内部可以访问外部变量:默认情况下,Block内部不能修改外部的局部变量 给局部变量加上__block关键字,则这个局部变量可以在block内部进行修改. 3,block的作用: 利用block封
黑马程序员——oc语言学习心得----NSFileManager
黑马程序员——oc语言学习心得----NSFileManager -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 自己总结了下NSFileManager的简单几个用法 : // 首先要创建文件管理器 NSFileManager *fm=[NSFileManager defaultManager]; 1,判断文件是否存在 fileExistsAtPath: 2,判断文件是否是目录 fileExistsAtPath: 3, 判断文件是否可读
23-黑马程序员------OC 语言学习笔记---内存管理
黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 对于面向对象的变成语言,程序需要不断地创建对象.初始,创建的所有程序通常都有指针指向它,程序可能需要访问这些对象的实例变量或调用这些对象的方法,随着程序的不断执行,程序再次创建了一些新的对象,而那些老的对象已经不会再被调用,也不
21-黑马程序员------OC 语言学习笔记---点语法和作用域
1 合成存取方法为成员变量实现setter和getter方法,虽然并不难,但如果一个类中包含10个甚至更多的成员变量,为每个成员都编写setter.getter方法將是一件令人反胃的事情.OC语言提供了自动合成setter和getter方法,而且如果开发者需要自己控制某个setter和getter方法的实现,开发者依然可以提供setter和getter方法,这个由开发者自定义的setter和getter方法将会覆盖系统自动合成的setter和getter方法.系统自动合成setter和ge
oc语言学习之基础知识点介绍(二):类和对象的进一步介绍
一.类.对象在内存中的存储 /* 内存分区: 栈:局部变量 堆:程序员自己写代码申请开辟的 程序员自己维护,编译器现在帮我们自动优化了,它在合适的给我们加上了释放空间的语句,所以我们现在写的对象不会造成内存泄露 全局区:所有的全局变量和静态变量 常量区:所有的常量 代码区:程序编译后的指令集 类是模板,肯定需要存在内存里面,因为实例化对象的时候需要根据这个模板来创建,那么存在内存里面,存在哪呢?? 类模板存在:全局区! 存的是:类的描述,还有所有的方法实现 每个对象都会有一个系统给我们的isa指
Java基础-学习笔记(五)——面向过程和面向对象的区别
学习面向对象的语言,要弄清楚面向对象,首先要从理解面向过程开始. 回想起之前在学习C语言时,每次拿到一个题目,首先想到的是,先分析出解决问题所需要的步骤,每一个功能点,用一个函数来表示,使用的时候一个一个进行调用就好了,程序的重心在函数上(谓语):面向对象,就是要把问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述每个事物在整个解决问题过程中的行为,强调的是对象本身(主语) 还有就是数据是单独存储还是与操作存储在一起.对面向过程而言,数据是独立的.而在面向对象中,对象本身就
OC - 1.面向过程和面向对象的思想对比
一.面向过程 1> 思想 面向过程是一种以过程为中心的最基础编程思想,不支持面向对象的特性. 面向过程是一种模块化程序设计方法 2> 开发方法 面向过程的开发方法是以过程(也可以说是模块)为研究核心 ,将不同的过程设计成不同的函数,然后按一定的流程调用即可. 3> 优缺点 优点 ① 能够编写高效的代码 ② 在小型的流程清晰的程序设计方面有一定的优势 缺点 ① 编写的代码可重用性低,开发效率较低 ② 难以或无法完成流程复杂的程序设计任务 二.面向对象 1> 思想 概念 ① 对象:人们
python学习第四节 迭代器 生成器 面向过程编程
1:什么是迭代 可以直接作用于for循环的对象统称为可迭代对象(Iterable). 可以被next()函数调用并不断返回下一个值的对象称为迭代器(Iterator). 所有的Iterable均可以通过内置函数iter()来转变为Iterator. 对迭代器来讲,有一个__next()就够了.在你使用for 和 in 语句时,程序就会自动调用即将被处理的对象的迭代器对象,然后使用它的next__()方法,直到监测到一个StopIteration异常. >>> L = [1,2,3]>