[学习笔记—Objective-C]《Objective-C 程序设计 第6版》第三章 类,对象和方法 课后题解析 3-7

本文深入解析了Objective-C编程中如何定义一个用于保存笛卡尔坐标(x, y)的类XYPoint,详细阐述了设置与获取坐标值的方法,并通过实例展示了类的应用。内容涵盖了类的基本构造、属性的设定与读取,以及如何在实际程序中使用该类进行坐标操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第三章的课后题多半都比较主观,在此只分享第七题。第七题几乎囊括了第三章所有的知识点,非常典型。

以下是题目和本人编写的代码。为了方便起见,将头文件,实现文件,主函数文件合并到了一起。

3-7 定义一个名为XYPoint的类,用来保存笛卡尔坐标(x,y),其中x和y均为整数。定义一些方法,分别用来设置点的坐标x和y,并检查他们的值。编写一个Objective-C程序,实现这个新类并测试它。


#import <Foundation/Foundation.h>

@interface XYPoint : NSObject
{
    int xPoint;  //实例变量
    int yPoint;
}

//设值函数
-(void) setXPoint: (int) x;  //x坐标
-(void) setYPoint: (int) y;  //y坐标

//取值函数
-(int) xPoint;  //返回x坐标
-(int) yPoint;  //返回y坐标

//打印函数
-(void) print;

@end


@implementation XYPoint

-(void) setXPoint: (int) x
{
    xPoint = x;
}

-(void) setYPoint: (int) y
{
    yPoint = y;
}

-(int) xPoint
{
    return xPoint; //返回xPoint值
}

-(int) yPoint
{
    return yPoint; //返回yPoint值
}

-(void) print
{
    NSLog(@"The point is: (%d, %d)", xPoint,yPoint);
}

@end


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

        XYPoint *myPoint_1 = [[XYPoint alloc] init]; //第一个坐标
        XYPoint *myPoint_2 = [[XYPoint alloc] init]; //第二个坐标

        [myPoint_1 setXPoint:3];
        [myPoint_1 setYPoint:1];

        [myPoint_2 setXPoint:4];
        [myPoint_2 setYPoint:5];

        NSLog(@"The xPoint of the first point is %d:", [myPoint_1 xPoint]);

        NSLog(@"The first point is:");
        [myPoint_1 print];

        NSLog(@"The second point is:");
        [myPoint_2 print];
    }
    return 0;
}

本人此程序新建了两个对象(坐标),并分别提取了坐标值。

此程序应用了非常典型的设值和取值方法:

-(void) setXPoint: (int) x
{
    xPoint = x;
}

-(void) setYPoint: (int) y
{
    yPoint = y;
}

-(int) xPoint
{
    return xPoint; 
}

-(int) yPoint
{
    return yPoint;
}

在后面的章节中,还会介绍通过设置属性来替代传统的设置取值方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值