Iphone开发(3) obC特有的get,set模式

本文介绍了Objective-C中如何利用@property和@synthesize实现属性的优雅访问。通过这种方式,开发者可以更简洁地实现get和set方法,并直接通过点语法访问和修改属性。

不知道从什么时候开始,我们的面向对象编程规范已经不希望我们直接访问实例对象,而是通过get,set方法。在Java里面,比如有一个属性name,那么,一般会把这个属性设置为private的,然后通过getName,setName来访问和修改name。

        在obC里面,我似乎看到了更加优雅的实现。

1.在接口里面通过@property来设定需要实现get,set方法的实例

    2.在实现文件中通过@synthesize来实现接口中的注解

   3.在使用中直接通过[对象.属性]的方式访问和修改属性。


   以下是例子:


   Fraction.h

//
//  Fraction.m
//  first
//
//  Created by coding on 12-2-19.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import "Fraction.h"

@implementation Fraction

//实现get,set方法
@synthesize numerator,denominator;

-(void) print
{
    NSLog(@"%i/%i",numerator,denominator);
}

-(void) set:(int)_numerator :(int)_denominator
{
    numerator = _numerator;
    denominator = _denominator;
}

@end

    Fraction.m

//
//  Fraction.m
//  first
//
//  Created by coding on 12-2-19.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import "Fraction.h"

@implementation Fraction

//实现get,set方法
@synthesize numerator,denominator;

-(void) print
{
    NSLog(@"%i/%i",numerator,denominator);
}

-(void) set:(int)_numerator :(int)_denominator
{
    numerator = _numerator;
    denominator = _denominator;
}

@end

  调用类:

//
//  main.m
//  first
//
//  Created by coding on 12-2-19.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>
#include "Fraction.h"
int main (int argc, const char * argv[])
{

    @autoreleasepool {
        
        Fraction *myFraction;   
        myFraction = [Fraction new];
        
        
        myFraction.numerator = 1;
        myFraction.denominator =3;
        [myFraction print];
        
        
        [myFraction set:1 :3];
        [myFraction print];
    }
    return 0;
}

//方法的调用语法:[ClassOrInstance method];

   注意里面有一个多参数的方法。
### OBC车载充电器逆变模式工作原理 在电动汽车中,OBC不仅承担着将交流电转换为直流电的功能,在某些情况下也支持逆变功能,即将直流电重新转换回交流电。这种能力对于具备V2G(Vehicle-to-Grid)特性的车辆尤为重要。 #### 逆变模式基本概念 当处于逆变模式时,OBC会接收来自动力电池的直流输入,并将其转换为适合电网使用的正弦波形交流输出[^2]。此过程中涉及到的关键组件包括但不限于: - **双向AC/DC变换器**:这是实现交直流转换的核心部件之一。它能够在不同方向上高效地传递能量,确保无论是从电网到电池还是相反路径都能保持较高的效率。 - **PFC (Power Factor Correction)**:为了满足电网标准,通常会在前端加入功率因数校正电路来优化电流波形与相位关系,使系统能够提供接近理想的单位功率因数给电网[^3]。 - **CLLC谐振变换器**:用于后级的双向DC/DC转换环节,通过调节特定参数可有效控制传输至初级侧的能量大小及方向,进而影响最终输出至电网的交流电量。 #### 控制策略和技术细节 要成功实施上述过程,控制系统需精确监控并调整各阶段的操作变量,比如母线电压水平、电流强度以及频率等指标。具体而言: - 维持稳定的直流母线电压是至关重要的一步,因为这直接影响到了后续产生的交流信号质量。为此,往往借助闭环反馈机制不断修正实际测量值与设定目标之间的偏差[^1]。 - 对于生成高质量的正弦波形,则依赖先进的调制算法如SPWM(Sinusoidal Pulse Width Modulation),它可以按照预设规律改变开关器件的状态,从而形成期望形态的输出波形[^4]。 ```matlab % MATLAB伪代码示例展示如何设置PWM占空比以产生所需交流波形 function set_pwm_duty_cycle(target_voltage, frequency) % 计算周期时间 period = 1 / frequency; % 基于目标电压计算合适的PWM占空比 duty_ratio = target_voltage ./ max_possible_voltage; end ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值