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

Objective-C个人学习系列(4) 类与对象

 
阅读更多

//基础类库头文件

//<>表示搜索顺序从XCode系统路径中优先搜索

//“”表示搜索顺序从新建本地项目中WKRect项目中优先搜索

#import <Foundation/Foundation.h>

 

//类的声明

@interface WKRect : NSObject   //NSObject是所有OC中类的基础类

{

//定义公有成员变量

@public

 

    

//受到保护的成员变量

@protected

    

    //成员变量定义

    

    //左上角坐标x

    int xPos ;

    //左上角坐标y

    int yPos ;

    

    //矩形宽度

    int width ;

    //矩形高度

    int height;

    

//私有的成员变量

@private

 

}

//只要声明在头文件中的方法

//默认都为受保护的成员变量

 

//声明一个方法,设置xPos的值

-(void) setXPosValue:(int) value ;

 

//声明多个参数的方法,

//方法名包括两部分setXYValue: withYValue:

//除第一部分外后面命名的可以省略,但:不可省,如setXYValue::

//该方法包含两个参数,xValue和 yValue,参数类型都为int

-(void) setXValue:(int) xValue withYValue:(int) yValue;

 

//声明设置YPos值的方法

-(void) setYPosValue:(int) value ;

 

//声明设置矩形宽度的方法

-(void) setWidthValue:(int) value;

 

//声明设置矩形高度的方法

-(void) setHeightValue:(int) value;

 

//获得XPos值

-(int) getXPosValue ;

//获得YPos值

-(int) getYPosValue ;

//获得矩形宽度值

-(int) getWidthValue;

//获得矩形高度值

-(int) getHeightValue;

 

 

@end

 

//类的实现

#import "WKRect.h"

 

@implementation WKRect

 

//函数现实X设置函数

-(void) setXPosValue:(int)value

{

    xPos = value ;

}

//实现yPos设置函数

-(void) setYPosValue:(int)value

{

    yPos = value ;

}

//实现宽度设置函数

-(void) setWidthValue:(int)value

{

    width = value ;

}

//实现高度设置函数

-(void) setHeightValue:(int)value

{

    height = value ;

}

-(void)setXValue:(int)xValue withYValue:(int)yValue{

    xPos = xValue;

    yPos = yValue;

}

//实现getX函数

-(int) getXPosValue

{

    return xPos ;

}

//实现getY函数

-(int) getYPosValue

{

    return yPos ;

}

//实现getWidth函数

-(int) getWidthValue

{

    return width ;

}

//实现getHeight函数

-(int) getHeightValue

{

    return height ;

}

@end

 

#import <Foundation/Foundation.h>

#import "WKRect.h"

 

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

{

 

    //OC关键字,处理代码模块内存管理关键字,

    @autoreleasepool

    {   

                  //创建一个矩形对象,通过alloc函数创建对象并且分配内存

        WKRect* rect1 = [WKRect alloc] ;

        //通过init函数对对象进行初始化

        rect1 = [rect1 init] ;

        

        //rect1 = [[WKRect alloc] init];   //一般采用合并写法

        

        [rect1 setXPosValue: 5 ] ;

        [rect1 setYPosValue: 10 ];

        [rect1 setWidthValue: 10 ];

        [rect1 setHeightValue: 20 ];

        

        int xPos = [rect1 getXPosValue];

        int yPos = [rect1 getYPosValue];

        int width  = [rect1 getWidthValue];

        int height = [rect1 getHeightValue];

        

        NSLog(@"xPos = %d",xPos);

        NSLog(@"yPos = %d",yPos);

        NSLog(@"width = %d",width);

        NSLog(@"height = %d",height);

    }

    return 0;

 

}

 

//Objective-C 2.0开始,可自动生成set方法和get方法(统称存储器方法)

//第一步在接口中通过@peroperty关键字定义需要自动生成存储器方法的实例变量

//第二步,在类实现中用@synthesize指定实例变量,编译器便可自动生成存储器方法。

//--------成员变量自动存储器用法--------

#import <Foundation/Foundation.h>

 

@interface WK_student : NSObject{

 

    int _num;

    int _age;

    int _sex;

    NSString* _name;

    NSString* _phone;

    NSString* _QQ;

}

@property int _num,_age,_sex;

@property NSString* _name, *_phone,*_QQ;

 

-(void) showStudentInfo;

-(void) addStudent:(QF_student *)stu;

 

 

@end

 

#import "WK_student.h"

@implementation WK_student

 

@synthesize _num,_age,_sex,_QQ;

@synthesize _phone,_name;

 

-(void)showStudentInfo{

    NSLog(@"name=%@",_name);

    NSLog(@"num=%d",_num);

    NSLog(@"age=%d",_age);

    NSLog(@"sex=%@",(_sex==0) ? @"":@"");

    NSLog(@"QQ=%@",_QQ);

    NSLog(@"phone=%@",_phone);

}

 

-(void)addStudent:(QF_student *)stu{

    

}

 

@end

 

#import <Foundation/Foundation.h>

#import "WK_student.h"

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

{

 

 

    @autoreleasepool {

 

        WK_student *stu = [[WK_studentalloc] init];

        stu._name = @"张三";

        stu._age = 20;

        stu._sex = 1;

        stu._num = 1002;

        stu._QQ = @"1919192388";

        stu._phone = @"13880901088";

        

        [stu showStudentInfo];

    }

    return 0;

 

}

 

 

分享到:
评论

相关推荐

    The Objective-C 2.0 Programming Language

    Objective-C 2.0是苹果公司为Mac OS X和iOS操作系统开发的面向对象编程语言。它结合了C语言和Smalltalk风格的消息传递特性。自2008年2月发布以来,Objective-C 2.0成为开发苹果平台应用的主要语言。 首先,介绍...

    Objective-C Basic.pdf 开发iphone基础语言

    - **类与对象**:Objective-C支持面向对象编程,通过定义类来创建对象。例如,定义一个名为`Person`的类,可以创建多个`Person`类型的对象。 - **消息发送**:Objective-C中的方法调用被称为“消息发送”。例如,`...

    学习Objective-C入门教程

    Objective-C是苹果公司为开发iOS和macOS应用而设计的一门面向对象的编程语言,它结合了C语言的灵活性和Smalltalk式的面向对象特性。由于它曾是iPhone应用程序开发的主要语言,所以对于想要入门iOS开发的程序员来说,...

    Learn Objective-C on the Mac(高清高质量英文版)

    Mac是苹果公司生产的一系列个人电脑,其操作系统最初是基于NeXTSTEP的,它是一种基于UNIX的面向对象操作系统。由于NeXTSTEP的遗产,Mac OS X和其后续版本(如macOS)自然而然地支持Objective-C作为开发语言。 在iOS...

    Mac编程入门:使用Objective-C和Cocoa开发

    本书通过一系列循序渐进的学习模块,帮助读者从零开始逐步掌握Objective-C和Cocoa开发技能。每个章节都包含了理论知识介绍、代码示例和实际项目的练习,确保读者能够在实践中巩固所学内容。例如: - **第1章:...

    Pro-Objective-C-Design-Patterns-for-iOS

    通过《Pro-Objective-C-Design-Patterns-for-iOS》这本书的学习,iOS开发者可以将理论知识与实际编码技能相结合,大幅度提升个人的技术水平和项目开发能力。 伴随这本书提供的还有电子书版本,方便读者在各种阅读...

    object-c的概要介绍与分析

    Objective-C结合了C语言的高效性以及Smalltalk风格的消息传递机制,这种结合不仅保持了C语言的强大功能,还引入了面向对象编程的核心概念,从而为开发者提供了一套强大的工具集,用于创建高性能且功能丰富的原生应用...

    objc 教程--入门教程

    1. **类与对象**:Objective-C的核心概念之一就是类和对象。类定义了一个对象的行为和属性,而对象则是类的一个实例。例如,在一个应用程序中,你可以定义一个名为`Person`的类来表示一个人的信息,如姓名、年龄等。...

    Runtime资源

    Objective-C Runtime实际上是一系列C语言的函数集合,使得Objective-C的面向对象特性能够在底层实现。 2. Runtime的功能和作用: - 动态类型识别:通过Runtime,可以在程序运行时查询对象的类及其继承结构。 - 动态...

    objective c英文手册

    Objective-C 支持面向对象编程的核心概念,如类、对象、继承、封装等。这使得程序员能够更好地组织代码,提高代码的可读性和可维护性。 ##### 2. 动态消息传递 Objective-C 采用动态消息传递机制,这意味着在运行时...

    ObjC(English).pdf

    Objective-C扩展了标准的ANSI C语言,增加了面向对象的能力,同时保持了与C语言的兼容性。 ##### 版权声明 文档开头的部分强调了版权信息,这表明文档的所有权属于苹果公司,并规定了一些使用限制。例如,未经许可...

    ObjC.pdf 英文

    **Objective-C**是一种面向对象的编程语言,它作为C语言的一种扩展,为程序设计带来了诸多便利。该标题指出文档的主要内容是关于Objective-C的介绍与讲解。 #### 描述解读: 本描述部分主要介绍了面向对象程序设计...

    qiuten-V8.6.zip_软件设计/软件工程_Objective-C_

    Objective-C的关键概念包括类、对象、继承、多态和封装,这些都是面向对象编程的基础。 描述中提到的"分形维数计算的毯子算法matlab代码"是使用MATLAB编程环境实现的一种算法。MATLAB是一款强大的数学计算软件,被...

    Income Tax

    Objective-C程序需要定义一系列类来处理这些数据,例如`SalaryInfo`类,包含工资、扣除项等属性,以及计算税前收入、税后收入和应纳税额的方法。 4. **输入与输出界面设计** 在iPhone应用中,用户需要能够输入相关...

    IOS应用源码Demo-显示个人详细信息的table view-毕设学习.zip

    3. **Model对象**:个人详细信息通常会封装在一个对象(如`Person`类)中,包含了姓名、年龄等属性。这些模型对象会被用来填充`UITableViewDataSource`的方法,例如`numberOfSectionsInTableView:`和`tableView:...

Global site tag (gtag.js) - Google Analytics