IOS基础之 面向对象思想

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS基础之 面向对象思想相关的知识,希望对你有一定的参考价值。

编写Objective-C程序时,要使用Foundation框架。

什么是框架?

  框架(framework)是由很多类(class)组成的库,可以用来编写程序。 

对象(Object)

  • 对象可以保存数据,还可以包含一组函数。
  • 函数可以使用对象所包保存的数据。
  • 向对象发送某个消息(message), 可以出发响应的函数。
  • 这类由消息出发的函数称为方法(method)。
  • OC是一门弱语法。

一 创建第一个Objective-C 程序

创建一个项目,Create a new Xcode project -> OS X 下得 Application -> Command Line Tool , 名称为 FirstOC, 如下图所示:

技术分享 

对于包含Object-C代码的文件,一般使用后缀 .m 。在Xcode 中找到main.m并打开,输入以下几行代码:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
     
        NSLog(@"Hello, World!");
        
        NSDate *now = [NSDate date];
        NSLog(@"The date is %@" , now );
    }
    
    return 0;
}

  在这段代码中,程序向NSDate类发送了date消息,NSDate类的date方法会创建一个NSDate实例,将其中初始化为当前日期时间,然后返回新对象的起始地址。

接着程序将得到的地址保存在 now 变量中,now变量是一个指向NSDate对象的指针。

  构建并运行。输出结果大致如下:

2015-03-16 20:44:36.130 FirstOC[67855:3381337] Hello, World!
2015-03-16 20:44:36.135 FirstOC[67855:3381337] The date is 2015-03-16 12:44:36 +0000

  NSLog()会先输出日期,时间,程序名称和进程ID ,然后输出实际内容, 具体的时间信息会不同

  NSLog()是Foundation提供的一个功能强大的输出函数,功能与printf()相似,它不仅可以输出字符串,还可以输出整数,C分格的字符串和Objective-C对象。

1)NSLog()的第一个参数是一个字符串常量,改字符串中用%格式的占位符,这个占位符会由对应的变量填充。

NSLog()函数支持的格式字符

格式字符 说明
%d 以十进制形式输出整数
%o 以八进制形式输出整数
%x 以十六进制形式输出整数
%@ 输出OC对象的"描述信息",输出NString字符串
%p 输出对象的指针
 %f 输出浮点数
 %s 输出C语言的字符串

 

 

 

 

 

 

 

 

2) NSLog()的格式化字符串必须必须加上前缀@, 它的输出会自动换行,无需再最后加上 \n 。

  在Java编程中,使用System.out.println()方法来输出字符串,这就涉及用到一个static关键字。System是java.lang里面的一个类,而out是System里面的一个数据成员,但这个成员不是基本类,而是java.io.PrintStream类的对象。被关键字static修饰的数据成员或方法可以直接通过“类名.数据成员”或“类名.方法”来引用,而无须先建立对象。所以System.out是应用了out这个静态数据成员。而out又是一个java.io.PrintStream类的对象,所以out必然可以调用java.io.PrintStream类里面的方法,println()就是java.io.PrintStream类里的一个方法,它的作用就是用来想控制台输出信息的。

public class FirstHello{
   public static void main(String[] args){
         System.out.println("Hello xpws ."):
    }    
}    

 

二 ID 

  当声明为指向对象的指针时,通常都会明确的写出相应对象的类,上例所示:

NSDate *now = [NSDate date];

   但是在编程时,很可能碰到以下这种情况,声明指针时并不知道所指对象的准确类型,为此可以使用id类型。

  id类型的含义是:指针,并可以指向任意类型的 Objective-C对象,以下是语法说明:

id delegate ;

  使用id例子声明日期的例子:

id now = [NSDate date] ;
NSLog(@"Today is %@" , now);

注意:以上这泽变量声明中没有使用星号,id已经隐含了星号的作用。

 

 

 

 

 

 

   

 

以上是关于IOS基础之 面向对象思想的主要内容,如果未能解决你的问题,请参考以下文章

Java基础之面向对象

java基础之关于面向对象和面向过程的理解

Python之面向对象:面向对象基础

RK3568平台开发系列讲解(驱动基础篇)Linux内核面向对象思想之继承

RK3568平台开发系列讲解(驱动基础篇)Linux内核面向对象思想之封装

JavaSE基础之面向对象(上)