zoukankan      html  css  js  c++  java
  • 黑马程序员-OC基本语法

      OC是C系列语言,是面向对象的语言,而C语言是面向过程的,那么首先要理解面向对象和面向过程的区别。

          面向过程是专注“事件”本身,这件事从发生到结束的行为。例如怎么把大象装进冰箱,面向过程的思想是这样的,首先打开冰箱门,把大象装进去,然后把冰箱门关上。而面向对象是专注于“事物”本身的,同样是装大象,面向对象的思想是这样的,什么东西能装大象去,找到能装大象的冰箱嘛~~~~

         面向对象有2个非常重要的概念,类和对象。首先要有类,就是对象的模板,然后用类来创建对象,OC中的语法是这样的:

         

     1 #import <Foundation/Foundation.h>
     2 @interface Car : NSObject   // 类的声明,声明对象的属性、行为
     3 {
     4     @public      // @public可以让外部的指针间接访问对象内部的成员变量
     5     int wheels;  // 轮胎个数
     6     int speed;   // 时速(xxkm/h)
     7 }
     8 - (void)run;   // OC方法中任何数据类型都必须用小括号()扩住
     9 @end
    10 
    11 @implementation Car  //类的实现
    12 - (void)run  // 方法的实现,只要是OC对象的方法,必须以减号 - 开头
    13 {
    14     NSLog(@"车子跑起来了");
    15 }
    16 @end
    17 
    18 int main()
    19 {
    20 
    21     Car *p = [Car new]; // 利用类来创建对象
    22     Car *p1 = [Car new]; // 创建另一个对象
    23     p->wheels = 5; // 给P对象的属性赋值
    24     p->speed = 300;
    25     p1->wheels = 6; // 给P1对象的属性赋值
    26     p1->speed = 400;
    27     [p run]; // 运行p对象的方法
    28     [p1 run]; // 运行p对象的方法
    29     NSLog(@"车子有%d个轮子,时速位:%dkm/h", p->wheels, p1->speed);
    30     return 0;
    31 
    32 }

    需要注意一些常见错误

     方法
     1.对象方法都是以减号 - 
     2.对象方法的声明必须写在@interface和@end之间
        对象方法的实现必须写在@implementation和@end之间
     3.对象方法只能由对象来调用
     4.对象方法归类对象所有
     
     函数
     1.函数能写在文件中的任意位置(@interface和@end之间除外),函数归文件所有
     2.函数调用不依赖于对象
     3.函数内部不能直接通过成员变量名访问某个对象的成员变量

  • 相关阅读:
    七牛云上传图片
    找到当前字符串中最后一个/并获取之后的字符串
    jquery正则表达式验证:验证身份证号码
    apply()与call()的区别
    js 判断字符串是否包含某字符串,String对象中查找子字符,indexOf
    改变父元素的透明度,不影响子元素的透明度—css
    c实现生产者消费者问题。 windows下。
    python基础练习 dict切片
    html+css test1
    codewars[7]-python Friend or Foe?
  • 原文地址:https://www.cnblogs.com/pangjiayang/p/3956273.html
Copyright © 2011-2022 走看看