• OC1-面向对象,类和对象


    /*

     ** 类名首字母大写:变量名和方法名小写,使用驼峰命名法。

     ** @class 和#import  区别是 解决循环引用导致的死锁问题。

     (1)self 指的是类对象本身,super是父类对象本身。(2)self 用来调用本类对象的方法,super 调用父类的方法。

     1. 1)类,类名,。特征和行为。2)对象:是类的实例, 3)类是静态的,存在代码区,对象是alloc出来的,存放在堆区,对象名在栈区;4)类的每个实例变量在不同的对象中都有不同的值(静态变量除外)5)方法只是在被调用的时候,程序运行的时候才会占用内存。

     2.定义类:两部分接口和实现部分

     3.接口部分 声明类的特征和属性,@interface 类名 : 父类名 NSObject{ @ public 类的属性} 类的行为 @end

     (1)冒号表示,是继承关系,NSOject是所有类的父类。

     (2)方法声明:-是实例方法,+是类方法。方法名主要要(:),方法类型,返回类型,方法名,参数类型,参数名。

     (4)方法的调用:1)[类名/对象名 方法名];2)对象名.方法名;(点语法)

     4.实现部分:@implementation 类名 -(void)方法名1{} -(int )方法名2{}   @end

     5.类的实现:

    6. 创建对象:(1)对象通过指针来声明,  申请内存后,需要对对象进行初始化 调用init方法,这样这个方法才可以使用。

        (2) 同一个类的每个对象有不同的实例变量的存储空间;同一类的每个对象共享该类的方法。

        (3)对象的初始化: 通过约定,我们要求初始化方法以init 开头,成功返回一个动态类型对象(id),如果失败,则返回(nil),

        (4)指定初始化方法,子类初始化必须调用父类指定的初始化方法,通过向super发送消息初始化父类。相反,自己将调用参数比自己多的其他初始化方法(通过向self发送消息),并为自身没有的参数提供初始化值。

        (5)当没有指定初始化方法的时候,自动添加init方法,

     类名 *对象名=[类名 alloc];申请内存空间。

               对象名=[对象名 init];??

    7. @property 在.h中使用设置器,声明类的方法的时候,@synthesize 在.m文件中实现,在实现方法名时使用

       在@property ()括号中,可以填写以下属性,readwrite 默认; readonly 只读,没有set方法; assign 默认 引用计数不增加; retain 引用计数增加1  actomic原子性;  nonatomic非原子性;

      atomic是oc中的一种线程保护技术,是防止在未完成的时候,被另一个线程使用,造成数据错误。

    8。点语法:self.myNumber=10;//设置; self.myNumber;//访问;

     9. static 类体内的全局变量声明:

     10.类的继承@interfae 子类:父类 子类可以继承了该类,就可以拥有这些实例变量。

       (1)继承的方法重载:新建一个同名的方法来替代父类ClassA的方法。条件,定义一个同名的新方法,新方法必学具有相同的返回值类型,并且参数的个数与重载的方法相同。

     11.权限控制:默认的是project,只支持单继承。共性的东西放在父类,个性的东西放在子类。可以通过指针运算符访问实例变量,但是违背了面向对象的思想。

     12。多态: 一种事物的多种状态,不同类的对象可以定义共享相同名的方法,这个就是多态的表现形式。

       (1)动态类型:oc在运行时才确定对象的实际类型。(2)动态绑定;程序在执行的时候,才能确定对象调用的方法。

        (3) 多态的条件: 有继承关系,有方法重写,父类的申明变量指向子类对象。

     13.编程时能预测程序运行过程中可能出现的问题:@try , @catch, @finally 

     */

    /*

     **  Object-c是c语言的超级(super),所有的语法,在Object-c里面都好使。部分c和oc的程序时不兼容。名字上的不兼容

         《 oc的字符串需要加上@。》@ 也可以做占位符,%@就是对象类型的占位符。

        oc里面的数据类型都是对象,但是有特别的。: NSInteger,  CGFloat,(core graphfic),  NSLong等等。

     1。面向对象;面向对象中,万物皆对象,他是一种模拟现实世界的思想,对象即现实世界的每一个事物。

       所有的编程语言,都是为了解决现实生活中的问题。解决方式是通过描述现实中的场景。

      (1)面向切面 面向功能。

     2.面向对象的2个概念:类和对象(类的个体)。

     3.类 类名    特征(属性,成员变量)     行为(方法);

     (1)类名首字母大写,其余驼峰命名法。

     4.对象: 对象名 对象属性值不同, 

     5.类和对象的使用。(1)格式:类名 对象名=[[类名 alloc]init];alloc 申请内存,init 对申请内存初始化。

     (2)  所有的对象都放在堆区中的。(3)我们操作调用,都是用对象的内容。

     6.NSString 是一种数据类型,叫字符串类型。NSLog是输出函数,打印程序日志,printf功能相似。能打印出工程信息,直接信息,和对象信息等。

     8.函数的调用,调用方式:[对象名 方法名];头文件通过大括号声明的属性,可以通过属性的名字直接调用。

     9.这个方法,没有在头文件声明,是从父类继承,(1)调用在类对对象进行初始化的时候,调用初始化。(2)在调用的时候,方法名是固定的,

  • 相关阅读:
    linux软件包安装yum
    linux软件包安装rpm
    使用OwnCloud建立属于自己私有的云存储网盘
    Linux 防火墙
    Linux docker
    llinux 权限2
    详列JDK中的设计模式(二)结构型
    详列JDK中的设计模式(一)创建型
    JavaWeb学习总结(一) JavaWeb基础与Tomcat服务器
    老生常谈-从输入url到页面展示到底发生了什么
  • 原文地址:https://www.cnblogs.com/ytmaylover/p/5049173.html
Copyright © 2020-2023  润新知