`
JavaZhuang
  • 浏览: 10283 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

4.0OC6-self、自动释放、变量作用域

    博客分类:
  • IOS
 
阅读更多

4.0OC6-self、自动释放、变量作用域

 

方法的声明和实现,都可以以 +  或者 - 开头

+ 表示类的方法(静态方法)

- 表示对象方法(动态方法)

在.h中声明的所有方法都是public类型(通过Category可以实现private)

 

变量的作用域

@public全局都可以访问

@protected只能在类内部和子类中访问

@private只能在类内部访问

变量必须定义在类的{ } 中

 

 -----------main.m-------------

//

//  main.m

//  构造方法

//

//  Created by liuyes on 13-12-8.

//  Copyright (c) 2013 renhe. All rights reserved.

//

 

#import <Foundation/Foundation.h>

#import "Student.h"

 

int main(int argc, const char * argv[])

{

 

    @autoreleasepool {

        //char *s = "itcast";   C语言中字符串

        NSString *str = @"itcast"//OC中的字符串

        Student *stu = [[Student alloc] initWithAge:15 andNo:10];

        NSLog(@"%@", stu);  //%@表示打印的内存地址

        //NSLog(@"age is %i and no is %i", stu.age, stu.no);

        [stu release];

    }

    return 0;

}

 

 -----------Student.h-------------

//

//  Student.h

//  构造方法

//

//  Created by liuyes on 13-12-8.

//  Copyright (c) 2013 renhe. All rights reserved.

//

 

#import <Foundation/Foundation.h>

 

@interface Student : NSObject{

    int _age;

    int _no;

}

 

- (void)setAge:(int)age;

- (int)age;

 

 

 

- (void)setNo:(int)no;

- (int)no;

 

//自己写一个构造方法

- (id)initWithAge:(int)age andNo:(int)no;

 

    

@end

 

 -----------Student.m-------------

//

//  Student.m

//  构造方法

//

//  Created by liuyes on 13-12-8.

//  Copyright (c) 2013 renhe. All rights reserved.

//

 

#import "Student.h"

 

@implementation Student

- (void)setAge:(int)age{

    _age = age;

}

- (int)age{

    return _age;

}

 

- (void)setNo:(int)no{

    _no = no;

}

- (int)no{

    return  _no;

}

 

//实现构造方法

- (id)initWithAge:(int)age andNo:(int)no{

    //首先要调用super的构造方法

    self = [super init];

    

    //如果self不为nil

    if(self != nil){

        _age = age;

        _no = no;

    }

    return  self;

}

 

//重写父类的description方法

//当使用%@带打印一个对象的时候,回调用这个方法

-(NSString *)description{

    

    NSString *str = [NSStringstringWithFormat:@"age is %i, and no is %i", _age, _no];

    

    return str;

}

 

//如果直接把方法写在.m文件中,没有在.h文件中进行声明,那么这就是私有方法

 

//谁调用方法,self就指向谁

- (void)test{

    int age = self.age;

}

 

+ (void)test2{

    [Student alloc];

    [self alloc];

    //上面两句代码师等效的

}

 

 

@end

 

 -----------GoodStudent.h-------------

//

//  GoodStudent.h

//  构造方法

//

//  Copyright (c) 2013年 renhe. All rights reserved.

//

 

#import "Student.h"

 

@interface GoodStudent : Student

 

@end

 

 

 -----------GoodStudent.m-------------

//

//  GoodStudent.m

//  构造方法

//

//  Copyright (c) 2013年 renhe. All rights reserved.

//

 

#import "GoodStudent.h"

 

@implementation GoodStudent

 

//子类访问了父类的成员变量

- (void)test{

    _age = 10;

}

 

@end

 

 

分享到:
评论

相关推荐

    黑苹果一键生成工具OC-GEN-X 0.7.7

    6. **维护与更新**:随着macOS的版本更新,用户可能需要使用OC-GEN-X来更新OpenCore配置,以保持兼容性。 需要注意的是,由于黑苹果涉及到对操作系统核心的修改,可能存在法律风险以及稳定性、安全性问题。此外,...

    OC-自动释放池的使用

    自动释放池(Autorelease Pool)是OC内存管理机制的一部分,它帮助开发者有效地管理内存,尤其是在循环中创建大量临时对象时。理解并正确使用自动释放池对于避免内存泄漏和优化性能至关重要。 自动释放池的基本概念...

    黑苹果OC引导-0.9.2

    "黑苹果OC引导-0.9.2"是关于在非苹果硬件上安装和运行macOS操作系统的专题,其中OC(OpenCore)是关键的引导加载器。OC引导是许多"黑苹果"(Hackintosh)爱好者首选的引导解决方案,因为它提供了高度的自定义性和...

    3DTouch综合教程OC+Swift4.0

    6. 调试和测试3DTouch功能的方法。 7. 兼容没有3DTouch硬件的设备的策略。 通过本教程的学习,你将能够熟练地在自己的应用中集成3DTouch,提升用户体验,同时也能深入理解苹果的触控交互设计理念。无论是Objective-...

    OC2004-DS01CN(2).pdf

    - 典型开关频率为140KHz,轻载时自动降低开关频率以提高转换效率。 - 内置软启动功能,避免开机时大电流冲击。 - 集成过温保护、输出短路保护、限流保护等功能,提高系统可靠性。 知识点二:OC2004典型应用 OC2004...

    C4D OC4.0.rar

    6. **实时预览**:OC4.0的实时预览功能进一步提升,能够在编辑过程中即时反映出场景的改变,为艺术家提供了更直观的反馈,极大地提升了创作效率。 7. **GPU集群渲染**:OC4.0支持多GPU渲染,甚至可以通过网络实现...

    Alienware-OC-Controls-Application

    在提供的压缩包文件"Alienware-OC-Controls-Application_TMR1V_WIN64_1.2.74.1238_A00.EXE"中,我们可以看到这是该应用的一个具体版本。通常,这样的文件名包含了软件的名称、版本号以及可能的更新日期。安装这个EXE...

    OC-little-master.zip

    "OC-little-master.zip" 文件就是一个专门针对黑苹果用户提供的DDST和SSDT补丁集合,用于解决硬件信息识别的问题。 首先,我们来了解一下DDST和SSDT。DDST是一种动态暗屏技术,主要目的是在macOS启动过程中优化屏幕...

    OC.Gen-X.app.zip

    《OC.Gen-X.app.zip——黑苹果引导神器,轻松驾驭Big Sur》 在苹果操作系统的世界里,"黑苹果"(Hackintosh)是指在非苹果硬件上安装并运行macOS的系统,这一过程通常需要特殊的引导程序。OC(OpenCore)作为当下最...

    ios-block的局部变量和全局变量和static的静态变量联系.zip

    首先,Block是Objective-C和Swift中的一个特性,它允许我们定义匿名函数或者闭包,可以在需要的时候捕获并使用其所在作用域内的变量。Block有三种类型:栈Block(__NSStackBlock)、堆Block(__NSMallocBlock)和...

    OC引导-剑客主题.zip

    《OC引导-剑客主题》是一款专为OpenCore引导程序设计的主题方案,旨在为用户提供一个独特且富有个性化的操作系统启动体验。OpenCore是MacOS系统中广泛使用的引导加载器之一,它提供了高度自定义和优化的功能,使得...

    OC Gen-X 2.zip

    "OC Gen-X 2.zip" 是一个压缩包文件,它包含了一个名为 "OC Gen-X 2.app" 的应用程序。这个应用通常与“黑苹果”(Black Apple)领域相关,这指的是在非苹果硬件上安装和运行苹果公司的macOS操作系统。在深入探讨这...

    前端开源库-oc-empty-response-handler

    "oc-empty-response-handler"就是一个专为处理前端空响应而设计的开源库。这个库专注于解决当服务器返回一个空响应时,前端如何优雅地处理这种情况的问题,确保用户体验的流畅性和一致性。 在实际的Web应用开发中,...

    前端开源库-oc-client-browser

    6. **文档和示例**:为了帮助开发者快速上手,oc-client-browser 应该有详尽的文档说明,包括API参考、使用教程和实例代码,让新手也能轻松理解和应用。 7. **社区支持**:作为开源项目,它通常会有活跃的社区,...

    算法一类支持向量机OC-SVM

    首先,导入所需的库,然后定义优化的目标函数(OC-SVM的损失函数),接着初始化蜂群算法的参数,运行优化过程,并将得到的最佳参数应用于OC-SVM模型的训练。最后,使用训练好的模型对新样本进行预测。 总的来说,将...

    iOS---OC版---日历

    在iOS开发中,Objective-C(OC)是主要的编程语言之一,用于构建各种应用程序,包括与日历功能相关的应用。本篇文章将详细讲解如何在OC中实现一个“火车日历”功能,参考自...

    OC icon-font,节省空间,节约设计成本.zip

    **OC icon-font技术详解** 在iOS应用开发中,图标是一种重要的视觉元素,它能直观地传达信息,增强用户体验。传统的图标实现方式有多种,如图片、SVG(矢量图)等,但每种方法都有其优缺点。"OC icon-font"...

    iOS---OC版---日历(酒店)

    这篇博客文章 "iOS---OC版---日历(酒店)" 提供了关于如何在Objective-C(OC)环境下实现iOS日历功能的详细教程。下面我们将深入探讨相关的知识点。 1. **EventKit框架**:iOS中的日历功能主要通过EventKit框架来...

    OC-View截图,OC-View截图

    6. **延迟截图**:为了捕捉动态内容,OC-View可能会有倒计时功能,允许用户在几秒后才执行截图,以便他们能准备好屏幕内容。 7. **窗口识别**:对于macOS,可能有一个智能窗口识别功能,能够自动识别并捕获活动窗口...

    ios-OC -- 用Collection加签喜好管理.zip

    在iOS开发中,Objective-C(OC)是一种广泛使用的编程语言,尤其在构建用户界面时。本项目"ios-OC -- 用Collection加签喜好管理.zip"聚焦于利用UICollectionView实现用户的喜好管理和频道管理功能,同时也涉及到了...

Global site tag (gtag.js) - Google Analytics