Unity C#封装练习之Stack栈实现(仅思路及源码)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jw4BiEE6-1580620620670)(这里写自定义目录标题)]

面向对象(Object Oriented)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行编程,更贴近事物的自然运行模式。
在这里插入图片描述
封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的方法进行有机的结合,形成“类”,其中数据和方法(函数)都是类的成员。
在这里插入图片描述
早期的计算机编程是基于面向过程的方法,例如实现算术运算1+1+2 = 4,通过设计一个算法就可以解决当时的问题。随着计算机技术的不断提高,计算机被用于解决越来越复杂的问题。一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类。帮助人们实现对现实世界的抽象与数字建模。通过面向对象的方法,更利于用人能理解的方式对复杂系统进行分析、设计与编程。同时,面向对象能有效提高编程的效率,通过封装技术,将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。
面向对象是指一种程序设计泛型,同时也是一种程序开发的方法。对象指的是类的集合。它是类在内存中的实体,是代码的内存表现。通过封装,我们能够规范对象的行为,提高程序的可读性,重用性、灵活性和扩展性。
在这里插入图片描述

  • 提高了数据的安全性:他人将不能够通过 “变量名.属性名 ”的方式来修改某个私有的成员属性 。

  • 操作简单:封装后,多个调用者在使用的时候,只需调用方法即可,调用者不需要再进行判断,和重复实现。

  • 隐藏了实现:实现过程对调用者是不可见的,调用者只需调用方法即可,不需要知道具体实现过程
    在这里插入图片描述
    知识简介:栈是一种先进后出的数据容器,什么是先进后出呢,你可以理解为弹夹,装入弹夹的子弹肯定是最后一颗被装入的子弹,第一颗被打出来第一颗被装入的子弹,最后一颗被打出来!
    在这里插入图片描述
    栈的应用:当我们打开APP,APP内可能会有多个按钮,每个按钮都会对应着不同的页面,当我们点击按钮,其实就相当于将原来的页面装到栈里,点击返回就相当于从栈中将原来的页面取出。在这里插入图片描述

利用已有知识,实现栈!
需求梳理
1、容器:我们选择数组。(实现简单)
2、封装:我们提供push () 加入,pop () 取出这两个公开方法提供调用。
3、类型:我们使用int来简化开发。(仅是展示思路,这里不使用模版,以便于新手理解)

在这里插入图片描述
在这里插入图片描述
当要向站内存放数据时,将top指针右移,然后向站内放入数据,当要取出数据时,将数据取出,然后将top指针左移,这样就可以实现栈的先进后出。
在这里插入图片描述
在这里插入图片描述
一昧的复制粘贴并不能提高编程能力,我这里附带贴图,希望,读者能手动敲一遍,强化记忆,提高编程能力,另外,参考答案里的代码能够正确的运行,但是有一个细节的逻辑错误,不知,细心的各位读者能不能找出来呢,在评论区留言吧!

相由心生,境随心转,命由心造,福自我召。

能在编程的道路上走多远,完全取决于你付出的汗水,加油!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值