【Objective-C语言 面向对象版的士兵突击】
前言
士兵突击,是用Objective-C语言实现的一个面向对象的案例。
一、原理分析
士兵要射击,需要有枪。枪要开火,需要有弹夹。弹夹装子弹,需要判断子弹数量是否大于最大装弹量。
原则就是自己的事情自己做,判断装弹量是否大于0,并且小于最大装弹量,是弹夹的事儿。
判断弹夹里是否还有子弹,是枪在射击时的事儿,如果有子弹,则可以射击。
士兵射击,需要有把枪,士兵有了枪才能射击。
二、代码如下:
1.DanJia.h
#import <Foundation/Foundation.h>
/// 弹夹类
@interface DanJia : NSObject
{
///最大装弹数
int _maxCapacity;
///现有子弹数
int _bulletCount;
}
(void)setMaxCapacity:(int)maxCapacity;
(int)maxCapacity;
(void)setBulletCount:(int)bulletCount;
(int)bulletCount;
@end
2.DanJia.m
#import “DanJia.h”
@implementation DanJia
(void)setMaxCapacity:(in
【Objective-C语言 面向对象版的士兵突击】相关推荐
- c语言面向对象编程中的类_C ++中的面向对象编程
c语言面向对象编程中的类 Object oriented programming, OOP for short, aims to implement real world entities like ...
- C语言面向对象编程(四):面向接口编程
Java 中有 interface 关键字,C++ 中有抽象类或纯虚类可以与 interface 比拟,C 语言中也可以实现类似的特性. 在面试 Java 程序员时我经常问的一个问题是:接口和抽象类有 ...
- C语言面向对象编程(二):继承详解
在 C 语言面向对象编程(一)里说到继承,这里再详细说一下. C++ 中的继承,从派生类与基类的关系来看(出于对比 C 与 C++,只说公有继承): 派生类内部可以直接使用基类的 public .p ...
- C语言面向对象编程(六):配置文件解析
在实际项目中,经常会把软件的某些选项写入配置文件. Windows 平台上的 INI 文件格式简单易用,本篇文章利用<C语言面向对象编程(五):单链表实现>中实现的单链表,设计了一个&qu ...
- java 168转换成861_java实验-java语言面向对象编程基础
java实验-java语言面向对象编程基础 (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 8.90 积分 广州大学学生实验报告广州大学学生实验报告 ...
- Go语言面向对象编程
系统类型 为类型添加方法 Go语言的类型,除了指针之外,都可以组合出自己的方法. type Integer intfunc (a Integer) Less(b Integer) bool {retu ...
- 【Golang第8章:面向对象编程】Go语言的结构体是什么,怎么声明;Golang方法的调用和声明;go语言面向对象实例,go语言工厂模式;golang面向对象的三大特性:继承、封装、多态
介绍 这个是在B站上看边看视频边做的笔记,这一章是Glang面向对象编程 这一章内容较多,内容有Go语言的结构体是什么,怎么声明:Golang方法的调用和声明:go语言面向对象实例,go语言工厂模式: ...
- 我所偏爱的 C 语言面向对象编程范式
我所偏爱的 C 语言面向对象编程范式 面向对象编程不是银弹.大部分场合,我对面向对象的使用非常谨慎,能不用则不用.相关的讨论就不展开了. 但是,某些场合下,采用面向对象的确是比较好的方案.比如 UI ...
- c语言面向对象编程显示,c语言面向对象编程
场景:C语言面向对象编程(6):配置文件解析 C语言面向对象编程(六):配置文件解析 在实际项目中,经常会把软件的某些选项写入配置文件. Windows 平台上的 INI 文件格式简单易用,本篇文章利 ...
最新文章
- 图像翻译、语义分割、域适应、图像检索、无监督学习cvpr2021
- 一个网络公司的任职要求
- Android中的ImageView的getDrawableCache获取背景图片的时候注意的问题
- 计算机无法进入桌面怎么备份,无法进入系统如何正常备份数据?
- jpa 关联实体的关联实体_JPA实体锁定模式的差异
- mvn 汇编_【答疑解惑】艺术生留学小白问题答疑汇编之精华
- springboot 分页查询参数_精通SpringBoot--分页查询功能的实现
- hdu 1203 I NEED A OFFER!
- go语言中函数与方法重要的区别:
- unity wsad 鼠标_Unity3D实现键盘鼠标控制角色移动及旋转
- word转pdf linux java,java实现Word转Pdf(Windows、Linux通用)
- 用vbs脚本实现软件的自动登录
- 倍福软件安装及注意事项
- wifi分析仪怎么看哪个信道好_怎么查看周围的WiFi网络使用了哪些信道
- USB 3.0 高清音视频采集芯片——MS2130
- 2020年最佳恶意软件删除工具Top 10
- 元数据看板的初步设计思路
- 如何在线下载哔哩哔哩上的视频
- SysKey 和 SAM
- mysql every derived table must_Mysql错误Every derived table must have its own alias解决方法
热门文章
- Signoff Criteria --- ocv/aocv/pocv之AOCV介绍
- SAP BW4 405(主要是query和bo)学习6-10章
- Matlab生成宽带信号
- oracle 创建索引指定表空间,Oracle中如何把表和索引放在不同的表空间里
- matlab除数为0的解决办法
- 邓凡平WIFI学习笔记3: WiFi 协议安全部分
- 约瑟夫环——C++红书~第六章指针课后习题第5题
- 张五常:救金融之灾有三派之别
- Untiy 帧同步的探索之路一 位置帧同步
- 微信小程序+VantWeapp自定义tabBar,解决 this.gettabbar is not a function。