zoukankan      html  css  js  c++  java
  • 黑马程序员___OC类和对象

    类和对象

    面向对象

    面向对象的思想就是关注解决的问题需要哪些对象,然后直接用对象的方法解决问题,C语言是面向过程的语言,面向过程关注的时解决问题需要哪些步骤

    生活中面向对象的例子

    • ¬ 想打电话发短信  找手机,不用分析电话要怎样才能拨通
    • ¬ 去饭店吃饭  找服务员,不用分析怎么到厨房炒菜
    • ¬ 汽车坏了  找汽车维修工,不用分析修车的步骤
    • ¬ 境界:万物皆对象

    常用术语

    • ¬ 面向过程 Procedure Oriented
    • ¬ 面向对象 Object Oriented,简称OO
    • ¬ 面向对象编程 Object Oriented Programming,简称OOP

    类的声明

    @interface Car :NSObject

    • 类名属性的命名规则:标示符的规则
    • 类名的命名规范:有意义、驼峰标识、首字母大写
    • 冒号表示继承,Car继承NSObject这个类,用到NSObject的时候文件的开头要#import<Foundation/Foudation,h>,因为Foundation 这个框架包含了一些常用的基本的类。

    成员变量

    每个类都可以创建出很多对象,每个对象都有相同的属性,但是属性值会有不同,属性就是对象的成员变量

    成员变量要在@interface的大括号{}中声明,默认会初始化为0,在声明的时候不能对成员变量进行初始化

    成员变量的作用域

    public:表示这个变量是公共的,可以被外界访问

    privite:私有的,声明的变量不能被外界访问,只能在类中使用

    protect:被保护的,这样的变量可以在父类和子类中访问(默认都是protect类型的变量)

    package:只要处在同一个框架中,就可以被访问,不同的框架不能访问

    类的实现

    @implementation Car

    - (void)run

    {、

    NSLog(@“—————这个车子跑起来了”);

    }

    @end

    类的实现必须要写在@implemen和@end之间 

    函数和方法的区别

    方法

    1.对象方法都是以减号 - 

    2.对象方法的声明必须写在@interface和@end之间

      对象方法的实现必须写在@implementation和@end之间

    3.对象方法只能由对象来调用

    4.对象方法归类对象所有

    函数

    1.函数能写在文件中的任意位置(@interface和@end之间除外),函数归文件所有

    2.函数调用不依赖于对象

    3.函数内部不能直接通过成员变量名访问某个对象的成员变量

    匿名对象

     [Car new]->speed = 300;

     [[Car new] run];

    像上面这样没有变量来接受创建出来的对象直接拿来使用,叫做匿名对象

    创建对象的时候尽量不用匿名对象,因为这样会造成内存泄露

  • 相关阅读:
    mysql安装及初始密码问题
    centos7上安装erlang22.1
    共享文件夹设置
    putty免密登录
    重新开始
    单任务多线程 安全
    线程池
    多线程
    commons-IO
    打印流
  • 原文地址:https://www.cnblogs.com/jia694600474/p/4008334.html
Copyright © 2011-2022 走看看