2015年4月13号

1. objective-c语言的基本特点:

  OC是一个非常实际的语言,它是一个用C写成、很小的运行库,只会令应用程序的尺寸增加很小,和大部分OO(Object Orien  
  ted)系统使用极大的VM(一说是虚拟机,不知道对不对)执行时间会取代整个系统的运作相反。OC写成的程序通常不会比原
  
  代码大很多。此语言是在C语言的基础上增加了面向对象编程语言的特性以及Smalltalk消息机制;
  
  两种原始的原始面向对象语言:一个是Smalltalk ;一个是Simualr67.
  
  普及一下OC面向对象语言的特性:如封装、继承、多态,既具有静态语言(Statically Programming Language)的特性(如

  C++)。又有动态语言(Dynamically Programming Language)的效率(动态绑定 、动态加载等)。
  
1.1 动态类型:

  动态类型,说简单点就是id类型,它是跟静态类型是相对的(NSString int);动态类型就是编译器在编译的时候不能被别
  
  ,要等到运行时(run time)即程序运行的时候才会根据语境来识别。
  
1.2 动态绑定

  动态绑定,只需记住关键词@selector/SEL即可,OC可以先跳过编译,只有在运行时才动态的决定调用什么方法,需要传什
  
  么参数进去,注意的是:SEL变量只是一个整数,它是该方法的ID

1.3 动态加载

  就是根据需求加载所需要的资源,这点也不难理解,基本就是根据不用的机型做适配,最经典的例子就是Retina设备商加载
  
  @2x的图片,而在老一些的普通屏设备上加载原图。
  
2. 面向对象编程:

  面向对象编程(Object Oriented Programming,OOP)是一种计算机编程框架。oop的一条基本原则是计算机程序是有单
  
  个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要特性:重用性、灵活性和扩展性。为了实现
  
  整体运算,每个对象都能够接受信息、处理数据和向其他对象发送信息。
  
2.1 面向对象编程的基本概念:

  主要包括:对象、类、数据抽象、继承、动态绑定、数据封装、多态性、消息传递。
  
  对象:(Object)可以对其做事情的一些东西,一个对象有状态、行为、和 标识三种属性。

  类:(class)具有相同结构和行为的对象的集合。
  
  封装:(encapsulation)第一层意思:将数据和操作捆绑在一起,创造出一个新的类型的过程。第二层意思:实现接口和实
  
  现的分离的过程。
  
  继承: 类之间的关系,在这种关系中,一个类共享一个或多个其他类的结构和行为。继承描述了类之间的“是一种”关系。子
  
  类可以对基类的行为进行扩展、覆盖和定义。
  
  多态:类型理论中的一个概念,一个名称可以表示多种不同类的对象。
  
3.面向对象编程语言的优点:

  1) 数据抽象的概念可以在保持外部接口不变的情况下改变内部实现,从而减少甚至避免对外界的干扰。
  
  2) 通过继承大幅减少冗余的代码,并可以方便的扩展现有代码,提高编码效率,也减少了出错概率,易于维护。
  
  3)结合面向对象的分析和设计,允许将问题域中的对象直接映射到程序中,减少软件开发过程中的中间转化环节。
  
  4)通过对对象的辨别。划分可以将软件系统分割成若干独立的部分,在一定程度上控制软件的复杂度。
  
  5) 通过对对象的聚合,可以实现对象内在结构及外在功能上的扩充,从而实现对象有低到高的升级。


你可能感兴趣的:(2015年4月13号)