协议

  协议(protocol)是指两个或两个以上具有独立性的主体为了开展某项活动,经过协商后达成的一致意见。协议总是指某一层的协议。准确地说,它是在同等层之间的实体通信时,有关通信规则和约定的集合就是该层协议,例如物理层协议、传输层协议、应用层协议。我要说的这个协议是指界面进行数据传递时,根据自己的需求声明的协议.

一个简单的结婚协议的实现:
先创建俩个类,一个Boy类,一个Girl类.
Girl.h
// 声明协议
@protocol GirlDelegte <NSObject>
// 协议默认必须实现的方法
-(void)makeMoney;
@end
@interface Girl : NSObject
// 设置代理人属性
@property(nonatomic, assign)id<GirlDelegte>delegate;
// 方法中调用判断协议方法是否实现
-(void)marray;
@end

Girl.m
@implementation Girl
-(void)marray
{
    if ([self.delegate respondsToSelector:@selector(makeMoney)]) {
        [self.delegate makeMoney];
    }
}
@end

Boy.h
#import "Girl.h"
// 签署协议
@interface Boy : NSObject<GirlDelegte>

@end

Boy.m
@implementation Boy

// 实现协议方法
-(void)makeMoney
{
    NSLog(@"协议传值赚钱!");
}
@end

Main.m中进行调用

@end

#import "Boy.h"
#import "Girl.h"
int main(int argc, const char * argv[]) {
   
    Boy *boy1 = [[Boy alloc] init];
    Girl *girl1 = [[Girl alloc] init];
    
    // 设置实现协议的代理人
    girl1.delegate = boy1;
    // 女孩结婚就会调用协议方法
    [girl1 marray];
   
    return 0;
}



@end

输出如下图:

本项目是一个基于SSM(Spring+SpringMVC+MyBatis)框架和Vue.js前端技术的家教平台系统。该系统旨在为家教和学生提供一个便捷、高效的在线交流和预约平台,涵盖了从用户注册登录、个人信息管理、课程发布与搜索、预约与取消预约、评价反馈等一系列功能。 在后台管理方面,系统提供了管理员对用户信息、课程信息、预约记录等进行管理的功能,确保平台的正常运行和数据的准确性。通过Spring框架的依赖注入和AOP特性,实现了业务逻辑的清晰分离和高效处理;SpringMVC则负责处理前端请求和响应,提供友好的用户界面;MyBatis作为ORM框架,简化了数据库操作,提高了数据访问的效率和安全性。 前端部分采用Vue.js框架,结合Vue Router进行页面路由管理,Axios进行HTTP请求,实现了前后端分离的开发模式。Vue.js的组件化开发和响应式数据绑定特性,使得前端页面更加动态和交互性强,提升了用户体验。 数据库设计采用了MySQL,存储了用户信息、课程信息、预约记录等核心数据。通过合理的数据库表结构和索引设计,保证了系统的高效运行和数据的一致性。 该项目不仅适合计算机相关专业的毕设学生参考和学习,也适合Java学习者进行项目实战练习。通过对该项目的深入理解和二次开发,可以实现更多个性化功能,进一步提升技术水平和实践能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值