黑马程序员_方法的声明和实现

本文详细介绍了如何在Objective-C中声明和实现方法,包括返回类型、方法名、参数类型及名称,以及如何通过实例调用方法。通过具体代码示例,读者可以深入理解方法在Objective-C编程中的应用。

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



黑马程序员_方法的声明和实现.


关闭Xcode的自动提示功能:
Xcode->Preferences...->Text Editing->Code completion:->Suggest completions while typing

关于方法名:
    -          (double)         pi   ;
方法类型      返回值类型      方法名

   [c           pi]  ;
指针变量      方法名

    -          (double)      square:      (double)       number   ;
方法类型      返回值类型      方法名      参数类型      参数名称

    [c          square:        10]   ;
指针变量名      方法名      实际参数

    -     (double)  sumOfNum1: (double)   num1  andNum2: (double)   num2   ;
方法类型\返回值类型\  方法名 \ 参数类型\参数名称\方法名 \参数类型\参数名称


程序示例:

/*
 计算器类
 方法:
 1.返回PI
 2.计算某个整数的平方
 3.计算两个整数的和
 */

#import <Foundation/Foundation.h>

@interface JiSuanQi : NSObject

// 方法名:pi
- (double)pi;

// OC方法中,一个参数对应一个冒号
// 方法名:pingFang:(冒号也是方法名的一部分)
- (int)pingFang: (int)num;

// 方法名:sum::
// - (int)sum: (int)num1 :(int)num2;

// 方法名:sumWithNum1:andNum2:
- (int)sumWithNum1:(int)num1 andNum2:(int)num2;

// 方法名: sumWithNum1:andNum2:andNum3:
// - (int)sumWithNum1: (int)num1 andNum2: (int)num2 andNum3: (int)num3;

@end

@implementation JiSuanQi

- (double)pi
{
	return 3.14;
}

- (int)pingFang: (int)num
{
	return num * num;
}

// - (int)sum: (int)num1 : (int)num2
- (int)sumWithNum1: (int)num1 andNum2: (int)num2
{
	return num1 + num2;
}

@end

int main()
{
	JiSuanQi *jsq = [JiSuanQi new];

	int a = [jsq sumWithNum1:10 andNum2:5];
	NSLog (@"%d", a);

	// double a = [jsq pi];
	// NSLog (@"%f", a);

	// int a = [jsq pingFang: 10];
	// NSLog (@"%d", a);

	// int a = [jsq sum:10 :5];
	// NSLog (@"%d", a);

	return 0;
}


### 黑马程序员 SSM 框架 Day10 声明式事务控制教程 #### 一、声明式事务控制简介 在Spring框架中,声明式事务管理通过AOP来实现,在程序运行期间可以不修改源码对已有方法进行增强[^4]。这种方式减少了重复代码并提高了开发效率以及维护便利性。 #### 二、配置文件设置 为了启用基于XML的声明式事务管理,需要定义`<tx:advice>`标签,并指定要使用的事务管理器实例名称作为属性值。例如: ```xml <!-- 配置事务通知 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <!-- 定义哪些方法参与事务 --> </tx:advice> ``` 上述代码片段展示了如何创建一个名为`txAdvice`的事务建议,并关联到ID为`transactionManager`的对象上[^3]。 #### 三、应用上下文中集成事务切面 为了让声明式的事务能够生效,还需要将之前定义好的事务建议与具体的切入点表达式相结合,从而形成完整的AspectJ风格的切面定义。这通常是在应用程序上下文配置文件里完成的操作之一。 #### 四、简化版注解驱动的方式 除了传统的XML方式外,还可以利用更简洁的注解形式来进行声明式事务处理。只需简单地给目标类或者其成员函数加上特定的注释即可自动开启相应的事务支持特性[^5]。 ```java @Service public class UserServiceImpl implements UserService { @Transactional(readOnly = false, propagation = Propagation.REQUIRED) public void saveUser(User user){ // 方法体... } } ``` 以上示例表明了在一个服务层接口的具体实现类的方法前添加`@Transactional`注解就可以轻松达到同样的效果而无需额外编写任何其他配置项。 #### 五、总结 综上所述,无论是采用经典的XML配置还是现代化的Java Config甚至是更为便捷的纯注解方案都能很好地满足日常开发过程中对于声明式事务的需求;而且这些手段都遵循着相同的核心理念——即借助于面向切面编程的思想使得原本分散在整个业务逻辑当中的事务边界变得集中可控起来[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值