看懂面向对象- 类,对象,复数相加- 对初学者很有帮助

oc中面向对象的思想是非常先进的思想,现在很多人工智能也是运用对象的思想思考问题。

对ios学习使用过程中,再重复使用和巩固中我又学到了很多以前忽略或者没有完全理解的问题。

例如:对于属性

@public//公共的谁都可以访问

   int _legs;

    

@protected//受保护的,只有类和其子类可以访问,没有标注默认情况下都是这种

   int _height;

    

@private//私有,只有类定义内部可以访问

   int _weight;

    

这个单独理解比较困难也很抽象。

因为实际中大家都是通过声明过的实现(也可理解为方法)来实现赋值或者调用,所以直接修改也大可不必,只需注意即可。


下面分享1个例子:理解他你就对面向对象有了更深的理解。

题目 : 两个复数相加:即实部 + 虚部i   (两部分都为整数)

解题思路:定义一个类(虚、实两个属性)

  定义一个相加的方法,生成了两个复数,用一个复数1的虚实部分别加上两一个复数2的虚实部,用一个新的复数3来接受他俩的和!

  具体过程如下

#import "Complex.h"


@implementation Complex


// 对象初始化

- (void) setReal:(int)real andVir:(int)vir{

   _real = real;

   _vir = vir;

}



// 展示

- (void)showAll{

    

   NSLog(@"%i+%ii",_real,_vir);


}


// 两个数复数相加,对象发送消息同时传入另一个对象进行相加,返回相加后的新对象

- (Complex *)add:(Complex *)added{

   Complex *newNum = [[Complexalloc]init];//定义新对象以便接受

   int tempReal =_real + [addedreal];

   int tempVir =_vir + [addedvir];

    [newNumsetReal:tempRealandVir:tempVir];

   return newNum;

}


// 返回实部

- (int)real{

   return_real;

}


// 返回虚部

- (int)vir{

   return_vir;

}

@end



 


#import <Foundation/Foundation.h>

#import "Complex.h"


int main(int argc,constchar * argv[]) {

    @autoreleasepool {

      

        // 计算两个复数的和

        

       Complex *complex1 = [[Complexalloc]init];

        

        [complex1setReal:3andVir:2];

        

       Complex *complex2 = [[Complexalloc]init];

        

        [complex2setReal:6andVir:12];

        

       Complex *sumComplex = [[Complexalloc]init];

        sumComplex = [complex2add:complex1];

        [sumComplexshowAll];

        

        

    }

   return0;

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值