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
相关推荐
6. **维护与更新**:随着macOS的版本更新,用户可能需要使用OC-GEN-X来更新OpenCore配置,以保持兼容性。 需要注意的是,由于黑苹果涉及到对操作系统核心的修改,可能存在法律风险以及稳定性、安全性问题。此外,...
自动释放池(Autorelease Pool)是OC内存管理机制的一部分,它帮助开发者有效地管理内存,尤其是在循环中创建大量临时对象时。理解并正确使用自动释放池对于避免内存泄漏和优化性能至关重要。 自动释放池的基本概念...
"黑苹果OC引导-0.9.2"是关于在非苹果硬件上安装和运行macOS操作系统的专题,其中OC(OpenCore)是关键的引导加载器。OC引导是许多"黑苹果"(Hackintosh)爱好者首选的引导解决方案,因为它提供了高度的自定义性和...
6. 调试和测试3DTouch功能的方法。 7. 兼容没有3DTouch硬件的设备的策略。 通过本教程的学习,你将能够熟练地在自己的应用中集成3DTouch,提升用户体验,同时也能深入理解苹果的触控交互设计理念。无论是Objective-...
- 典型开关频率为140KHz,轻载时自动降低开关频率以提高转换效率。 - 内置软启动功能,避免开机时大电流冲击。 - 集成过温保护、输出短路保护、限流保护等功能,提高系统可靠性。 知识点二:OC2004典型应用 OC2004...
6. **实时预览**:OC4.0的实时预览功能进一步提升,能够在编辑过程中即时反映出场景的改变,为艺术家提供了更直观的反馈,极大地提升了创作效率。 7. **GPU集群渲染**:OC4.0支持多GPU渲染,甚至可以通过网络实现...
在提供的压缩包文件"Alienware-OC-Controls-Application_TMR1V_WIN64_1.2.74.1238_A00.EXE"中,我们可以看到这是该应用的一个具体版本。通常,这样的文件名包含了软件的名称、版本号以及可能的更新日期。安装这个EXE...
"OC-little-master.zip" 文件就是一个专门针对黑苹果用户提供的DDST和SSDT补丁集合,用于解决硬件信息识别的问题。 首先,我们来了解一下DDST和SSDT。DDST是一种动态暗屏技术,主要目的是在macOS启动过程中优化屏幕...
《OC.Gen-X.app.zip——黑苹果引导神器,轻松驾驭Big Sur》 在苹果操作系统的世界里,"黑苹果"(Hackintosh)是指在非苹果硬件上安装并运行macOS的系统,这一过程通常需要特殊的引导程序。OC(OpenCore)作为当下最...
首先,Block是Objective-C和Swift中的一个特性,它允许我们定义匿名函数或者闭包,可以在需要的时候捕获并使用其所在作用域内的变量。Block有三种类型:栈Block(__NSStackBlock)、堆Block(__NSMallocBlock)和...
《OC引导-剑客主题》是一款专为OpenCore引导程序设计的主题方案,旨在为用户提供一个独特且富有个性化的操作系统启动体验。OpenCore是MacOS系统中广泛使用的引导加载器之一,它提供了高度自定义和优化的功能,使得...
"OC Gen-X 2.zip" 是一个压缩包文件,它包含了一个名为 "OC Gen-X 2.app" 的应用程序。这个应用通常与“黑苹果”(Black Apple)领域相关,这指的是在非苹果硬件上安装和运行苹果公司的macOS操作系统。在深入探讨这...
"oc-empty-response-handler"就是一个专为处理前端空响应而设计的开源库。这个库专注于解决当服务器返回一个空响应时,前端如何优雅地处理这种情况的问题,确保用户体验的流畅性和一致性。 在实际的Web应用开发中,...
6. **文档和示例**:为了帮助开发者快速上手,oc-client-browser 应该有详尽的文档说明,包括API参考、使用教程和实例代码,让新手也能轻松理解和应用。 7. **社区支持**:作为开源项目,它通常会有活跃的社区,...
首先,导入所需的库,然后定义优化的目标函数(OC-SVM的损失函数),接着初始化蜂群算法的参数,运行优化过程,并将得到的最佳参数应用于OC-SVM模型的训练。最后,使用训练好的模型对新样本进行预测。 总的来说,将...
在iOS开发中,Objective-C(OC)是主要的编程语言之一,用于构建各种应用程序,包括与日历功能相关的应用。本篇文章将详细讲解如何在OC中实现一个“火车日历”功能,参考自...
**OC icon-font技术详解** 在iOS应用开发中,图标是一种重要的视觉元素,它能直观地传达信息,增强用户体验。传统的图标实现方式有多种,如图片、SVG(矢量图)等,但每种方法都有其优缺点。"OC icon-font"...
这篇博客文章 "iOS---OC版---日历(酒店)" 提供了关于如何在Objective-C(OC)环境下实现iOS日历功能的详细教程。下面我们将深入探讨相关的知识点。 1. **EventKit框架**:iOS中的日历功能主要通过EventKit框架来...
6. **延迟截图**:为了捕捉动态内容,OC-View可能会有倒计时功能,允许用户在几秒后才执行截图,以便他们能准备好屏幕内容。 7. **窗口识别**:对于macOS,可能有一个智能窗口识别功能,能够自动识别并捕获活动窗口...
在iOS开发中,Objective-C(OC)是一种广泛使用的编程语言,尤其在构建用户界面时。本项目"ios-OC -- 用Collection加签喜好管理.zip"聚焦于利用UICollectionView实现用户的喜好管理和频道管理功能,同时也涉及到了...