要编程肯定要从编程思想开始,发现一篇很好的教程,加上自己的理解,转发给大家!好好学习,天天向上。
1.1 类(Class)与 OOP
1.2 基本框架
1.3 基础知识
1.1 类(Class)与OOP
OOP (Object-Oriented programming )官方的解释是 面向对象程序设计。一个晦涩难懂的概念。所以我们先不要去理解他,就当是一个路的名字先记下来。而这条路是这个教程的第一站。
在我们的生活中,从小学开始,老师就会让我们先读课文,然后归纳一下中心思想。老师这么做的初衷是为了锻炼和培养我们的归纳和总结的能力。而“类”正需要的是归纳和中介,这里有个例子,还是以美女为例,美女就是一类人的总称,但美女其实不是一个实际存在的个体。我想很多人会困扰这句话 “美女其实不是一个实际存在的个体”,其实不需要太多的理清这里的逻辑和哲学关系。美女就是一类美丽的女性的总称,而这个总称就是类(Class), 在大多数书里对Class的解释都是 以车或者动物作为例子,说实话,我个人对车的具体课题不是很懂,对动物我就更不是很了解了。所以我这里就拿iphone做例子来讲解class.
iphone是苹果手机的总称,而iphong 2g ,iphone 3g, iphone 3gs, iphone 4就是这个iphone总称下的的具体实例。如果我们开个手机店,某日,有个完全不懂2g,3g,3gs的客户上门说“我要买iphone”,作为老板的你可能会反问“好的,你要买哪一种iphone,我们这里有2g,3g,3gs甚至4代”。就在这话中就产生了类与类的实际实例。而有点文化知识的顾客应该会马上反应过来,原来iphone还分很多种,而买iphone这句话本身是有问题的,但其实也带来了一点,“买iphone”这句话是没错的,“我想娶一个美女做老婆”也是没有错的。因为这是我们日常生活口语中已经习惯的说法,大家在内心都建立一种规则,你一说,其他人就能理解。而我们回到计算机编程中,他的规则就是类与类的具体实例要一定分的很清楚。如果你对电脑说,“你帮我找个美女出来”,这电脑就开始confusing(傻眼)了。
1.1.1 类
类到底是干什么的。如果有过程化编程经验的朋友,可能一时很难理解,但往往在理解class之后会大大的感慨一下,这东西很有用呀。的确是这样,类真的很好的是把我们现实社会的一些优秀理论引入了编程中。下面我们就开始具体的看看类。
“人”这个字就是一个类。
所以我用中文表达一下这个程序写法:
类 人
用英文就是
class human
而用OC(ObjectiveC以后在文中简称为OC)中我们把 类或者class替换成@interface, 你不要管他这什么意思(我稍后会解释),照抄就可以了:
@interface 人 (中式写法) 或者 @interface human (英文写法)
但大家也知道中式写法是电脑不能接受的,所以我这里的中式写法也是帮助大家理解,但真正写代码的时候,我们必须严格OC的要求去写。
让我们看一下具体找一个代码看一下
@interface human
{
int age;
string gender;
}
-(void) sleep;
@end
而中式写法就是
类 人
{
整型 年龄;
字符串 性别;
}
-(无返回) 睡觉功能;
结束
其实英语有点基础的人,看到英文代码就可以理解了,{ }里的东西就是类的固有特性,比如年龄,是人都有年龄,这是一个固有的特性,而 - 后的东西就是人的动作,而睡觉就是一个经常发生的动作,所以让我们分类加亮代码。
@interface human
{
int age;
string gender;
}
-(void) sleep;
@end
橙色就是定义一个定义类固有的格式,一般大家就是照抄了,但他意思就是定义一个类,也就是告诉计算机这段代码就是告诉你计算机,我正在设计一个类。
红色就是类的固有属性或者特性。这些属性可以变化也可以是固定的,比如按道理来说这性别是固定的,但我们现在的科技,男人变女人,女人变男人也是可能了。所以固定与否就要从实际程序出发。
粉色就是类的功能,也就是类能完成那些动作,我们在这里是要求是人要能睡觉。
是不是很贴近我们的生活呢?而有了“人”这个类,我们就可以在以后的任何程序和游戏中调用它,这样节省了时间,代码也可以重复使用,比如我们今天按老师要求要写一个人力资源管理的程序,定义了一个“人”的类,写的很详细,过了一个星期老师又让我们写成绩单程序,这又是一个基于“人”类的程序,而这时我们只要把上星期写的老的“人”这个类拿来用就可以说。所以如何写的详细和规范就很重要,这也是我们以后章节要讨论的重点。
1.2 基本OC框架
1.2.1 备注 comments
我认为这是写现代程序的基础,他是一个很微小的功能,但我却认为是团队协作的首要任务,做备注。
counter+=1 // counter变量可以自加1,counter是计数器变量
蓝色的部分就是 单行comments,comments就好比你在教科书上做注释,他可以帮助你写的代码,别人可以理解,但计算机在编译程序的时候不会去处理你备注的东西,也可以说这是给人看的,而不是给机器看的。
而comments有两种,第一种大家已经见过,第二种是多行备注
/*
这是一个多行的备注,
可以写多行,而不用把挤在一行上。
*/
而我觉得大家能够掌握这两种就够了。 当行就是以 //开头,没有结尾。行结束就结束了。
多行是以/*开头 */结尾。里面的内容都是备注。
1.2.2 main()
main()是一个程序开始执行的起点,有的书上说是程序的进入点,开始点。你觉得那种好理解,就选哪种方式去理解。
请看代码:(代码有错误,是为了解释调试而错的)
int main (int argc,contst char * argv[])
{
NSAutoreleasePool * pool=[[ NSAutoreleasePool alloc] init];
NSLong ("第一个OC程序,也叫Hello world!");
[pool drain];
return 0;
}
大家现在很可能看不懂代码,很正常,在这段程序里我们只要掌握红色部分的,橙色部分的代码就是固定格式,在以后我会详细讲解,但现在,只要ctrl+c 然后ctrl+v 就可以了。因为他是一个很固定的格式,几乎不需要变。
而红色的这个行
NSLong (@"第一个OC程序,也叫Hello world!");
就是我们学习的第一个句子,他的功能就是在屏幕上输出 第一个OC程序,也叫Hello world! 这行字。
让我们在windows中打开mac虚拟机,然后看图打开Terminal



现在我们开始第一步,建立自己的文件夹
一开始我们先学几个unxi的命令:
查看当前目录命令ls 也就是 dos下的dir命令
cd 命令,和dos一样就不介绍了
mkdir 就是制作一个新的文件夹在当面目录下
先用ls 查看一下当前目录,然后用mkdir建立一个新目录HW,然后用vi 建立一个 test.m的程序文件,什么也不写,保存一下就退出。

保存的步骤
先按 ESC 然后输入:w 最后回车就退出了
退出的步骤
先按 ESC 然后输入:q! 最后回车就退出了,这样就建立了 test.m的程序文件
然后我们打开finder,可以看澳在shuang 下 有个HW目录,然后在目录里有个test.m的文件。

这里我要提醒一下,vi这个命令其实就是打开一个编辑器,其实一般在unix编程用这个就可以搞定,其实做OC的程序也可以在vi下完成,但大多新手可能会不适应,而且可能连unix也不懂,所以我采用了下面的方法。但我想说的是OC的程序,其实不用xcode也已完成,请牢记这一点,这也是我花了这么多时间解释 unix命令和vi的原因。
双击test.m我们将通过xcode打开testm.m文件,很明显里面是空的
然后我们在windows中打开这个教程,复制代码网页上的代码,然后在 虚拟机里粘贴上去,当然vmware很强大,支持这样的复制和粘贴,给新手带来了强大的便利。
上篇开始,这篇继续 先准备好你的工具,pc or mac? 有mac是有钱人,我就没有mac 如果没有mac的同学,又习惯windows系统,那你们可以看看这篇文章 http://bbs.weiphone.com/read-htm-tid-853658.html,教你怎么在windows系统下成功虚拟出苹果的Snow Leopard系统10.4.6。 在你安装好了,这一切之后,你还要记得下载iphone SDK3.4。安装 最后来一张成功在虚拟机下运行的Snow Leopard 下SDK图!

最近开始给Apple写程序了,一直想要做但是一直未做的事情就是这样的。每当要写之前发现自己还缺少很多东西就放弃了。为什么现在又想写了呢?因为我想以后我的小力娃能够用上我写程序软件在他(她)同学面前去炫耀,“看,这是我老爸写的游戏(程序)”。其实是为了赚点奶粉钱。。
我也整理了很多资料,提供给大家。为想要学习编写iphone、ipad程序的同学们一点帮助,不管是新同学还是老同学。
这个是自己的爱好,还希望大家给我保密。。呵呵!公司要是知道我写程序赚外刀,估计要把我调到软件研发去。
体现准备一些资料:
1.http://developer.apple.com/这个网站要仔细研究,因为最新最全的iphone实例程序,代码规则都来自这里。
2.最好是有一台mac电脑,如果没有至少你应该有一台inter 双核或者i5以上配置的PC。因为Snow Loepard 只能装在inter的cpu上。
3.要下载一些必要的资源:
securable.exe下载这个程序检查一下你的pc能否支持Snow Leopard系统。要全是yes才行哦,如果出现No Hardware Virtualization 就需要你打开主办bios设置里面的Virtualization选项。
还有一些下载资源我会在后面一篇文章里提到。
好,让我们从今天开始吧!

我是一个超级苹果迷+老乔的fans和Google的簇拥,一切新奇的事物我都好奇,摄影、运动、旅游、读书、电影、游戏都是我的爱好,荒淫大家给我留言,发邮件,请我吃饭、带我旅游(也不要忘记了我的领导同志!)……
最近留言