//定义一个类
#import <Foundation/Foundation.h>
@interface Student : NSObject
{
int _age;
int _no;
}
- (void)setAge:(int)age;
- (void)setNo:(int)no;
- (int)age;
- (int)no;
- (id)initWithAge:(int)age andNo:(int)no;
@end
//类的实现
#import "Student.h"
@implementation Student
//编写构造方法
- (id)initWithAge:(int)age andNo:(int)no{
self = [super init];//调用父类的init方法
self.age = age;
self.no = no;
return self;
}
- (void)setAge:(int)age{
_age=age;
}
- (void)setNo:(int)no{
_no = no;
}
- (int)age{
return _age;
}
- (int)no{
return _no;
}
//重写类对象的description方法,这个方法在 %@ 时候被调用,%@ 表示输出对象
- (NSString *)description{
NSString *str = [NSString stringWithFormat:@"age is %i no is %i",self.age,self.no];
return str;
}
@end
//类的调用
#import <Foundation/Foundation.h>
#import "Student.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
//方法一,第一步调用类的静态方法分配内存,第二步把分配的内存初始化之后给对象stu
Student *stu = [[Student alloc] init];
[stu setNo:10];
//等于stu.age = 10; stu的点方法,其实调用的不是成员变量,而是对应的set方法
[stu setAge:27];
NSLog(@"huang age is %i and no is %i",[stu age],[stu no]);
//方法二,第一步调用类的静态方法分配内存,第二步调用自己的构造方法初始化
Student *stu2 = [[Student alloc] initWithAge:27 andNo:1];
NSLog(@"mei age is %i and no is %i",[stu2 age],[stu2 no]);
NSLog(@"stu is %@",stu);//输出对象,有点像java当中的toString方法
//释放对象的方法怎么出不来呢?
// 在输出对象时候如果不重写Student当中的description方法,那么输出的是stu的内存地址
}
return 0;
}
分享到:
相关推荐
这个"iOS开发练手项目(OC版)"提供了一个基础的实践平台,适合初学者提升技能或对iOS应用开发有初步理解的人进行练习。项目以"RoadMapiOS-master"为名,我们可以从中学习到以下关键知识点: 1. **Objective-C基础*...
通过这一部分的学习,读者可以对iOS开发所需的关键技术和工具有一个初步的认识。 #### 四、理解多核处理器的影响 (Understanding the Impact of a Multicore Processor) 随着移动设备处理能力的提升,多核处理器已...
4. **理解Binding**:理解SwiftUI中绑定(Binding)的概念,它是状态管理的关键。 5. **预览行布局**:在编辑阶段预览列表视图的变化。 ### 第九部分:结构、项目组织和代码文档 1. **结构体(Struct)**:介绍...
尽管现在Swift语言逐渐取代了Objective-C,但很多遗留项目和库仍然使用Objective-C,因此学习这一部分对理解iOS开发历史和技术演变很有帮助。 3. iPhone应用的开发步骤:书中会逐步引导读者完成一个iPhone应用的...
在iOS平台上开发一款象棋应用是一项技术性和艺术性并重的工作。这个名为“iOS象棋Demo.zip”的压缩包很可能是包含了一个初步...通过分析和学习这个Demo,可以提升自己的iOS开发能力,特别是对于游戏和AI算法的理解。
- **适用人群**:该书适合具有较强英文阅读能力的读者,特别是那些希望深入学习iOS 5应用开发技术的专业人士或爱好者。 - **内容特色**:作为一本实用性的技术手册,书中提供了大量的示例代码和实践经验,可以帮助...
在iOS平台上开发一款计算器应用,通常涉及到Objective-C或Swift编程语言,Xcode集成开发环境,以及Apple的UIKit框架。以下是一些关于“iOS Calculator计算器”...对于个人学习和参考,理解并掌握这些概念是十分重要的。
- **目标定位**:本书旨在帮助读者克服初期学习曲线,理解iOS应用程序的工作原理及构建方法。 #### 二、主要内容概述 - **章节结构**:全书分为22章,涵盖了从基础到高级的各种iOS开发技术。 #### 三、章节知识点...
本篇文章将带你初步了解Flex,并为初学者提供一些必要的学习指南。 Flex的主要目标是简化用户界面的开发,使开发者能够创建具有丰富交互性和动态视觉效果的Web应用。它提供了强大的组件库,可以用来快速构建常见的...
Swift是Apple为iOS、iPadOS、macOS、watchOS和tvOS平台设计的一种强大且直观的编程语言,它的语法简洁明了,易于学习,但功能强大。 在描述中提到的“两级页面”,通常指的是主页面和子页面的层级结构。在邮箱应用...
8. **Cisco IOS操作**:熟悉Cisco Internetwork Operating System(IOS),学习其命令语法和配置过程。 9. **网络设计与规划**:初步掌握网络设计原则,如高可用性、可扩展性和性能优化,以及如何根据业务需求进行...
在"XML初步到精通"这个压缩包中,可能包含了XML的基础概念、语法详解、实例演示以及进阶主题,如XPath和XSLT的使用,帮助初学者逐步掌握XML的相关知识。通过深入学习和实践,你可以更好地理解和利用XML的强大功能,...
10. **iOS模拟器和真机测试**:开发者通常会在iOS模拟器上进行初步测试,但最终需要在真实设备上验证应用的行为。学会配置和使用这两种测试环境是开发流程的一部分。 以上只是"iPhone开发例子2"可能涉及的部分技术...
### Objective-C入门教程:...通过本次教程的学习,相信你已经对Objective-C有了初步的认识,未来无论是从事iOS应用开发还是深入研究苹果生态,都将受益匪浅。继续探索,不断实践,才能真正掌握这门语言的魅力所在。
通过以上介绍,你已经对iPhone4的iOS开发有了初步了解。接下来,动手实践,编写你的第一个“Hello, World!”应用吧。不断学习,探索更多高级特性,如多线程、网络编程、推送通知等,你将逐步成长为一名出色的iOS...
总之,学习Objective-C需要适应其独特的语法结构,尤其是消息传递的方式,同时理解XCode和Cocoa在开发过程中的角色。通过阅读此类入门教程,初学者可以在短时间内对Objective-C有初步的认识,从而逐步克服对这门语言...
在这个"React Native 学习二源码"中,我们看到的是一个基于version 0.44.3的电商项目初步搭建过程。这个版本在2017年发布,虽然现在可能已经有些过时,但它仍然可以作为一个基础学习资源,帮助理解React Native的...
在iOS开发领域,Swift语言是...通过完成"Bullseye应用",你将对iOS应用开发有初步认识,这将是你进阶到更复杂的项目和概念的坚实基础。在实践中不断学习和探索,你将能够创建出更多功能丰富、用户体验出色的iOS应用。
了解这两门语言的基本语法、面向对象编程概念以及如何使用Cocoa Touch框架是必要的。 3. **Cocoa Touch**: 这是iOS应用开发的基础框架,提供了UI组件(如按钮、标签、视图等)和事件处理机制。开发者需要熟练使用...