40个优美的词句四年级
发布时间:2019-08-11 19:35:59
作者:xhs
阅读:797
40个优美的词句四年级:面向对象语言更接近人们的思维方式,在很大程度上降低了代码的复杂性,提高了代码的可读性和可维护性的同时,传统的C代码也可以设计得更可读、维护方便、复杂度低、美观。UL代码,本文将以一个实际的例子来说明这一点。除了提供基本数据类型外,C还为用户提供了自定义数据类型的能力。也就是说,结构。在C中,可以使用结构来表示任何实体。结构是面向对象语言中类概念的开始,例如:typedef结构{浮动X;浮动Y;}点;定义平面坐标系中的点,其中有两个域,即X坐标和Y坐标。结构中的域称为结构的成员。结构中的数据类型可以是简单的数据类型,也可以是其他结构,甚至可以嵌套结构本身。例如,标准链接列表结构可以定义如下:typedef结构节点{void*data;//数据指针int data length;//数据长度struct node*next;//指向下一个节点}节点;如您所见,节点中的下一个指针又是node类型。函数指针指针是C的灵魂,C比其他语言更灵活和强大。因此,学习C语言必须掌握好指针。函数指针,即指向函数在内存中的第一个地址映射的指针,通过函数指针,可以将函数作为参数传递给另一个函数,并在适当的时候调用,从而实现异步通信等函数。例如,Unix/Linux系统中的信号注册函数,其原型如下:函数指针是结构的成员。如前所述,结构的成员可以是简单的数据结构、其他结构,当然还有指针。当函数指针用作结构的成员,并且这些函数仅用于操作结构中的数据时,可以形成一个单独的实体,该实体同时具有数据和数据操作,因此自然会产生类的概念。一般来说,继承、封装和多态性被认为是面向对象语言必须支持的三个特性,并且正是通过这三个特性,面向对象优于面向过程。由于语言开发者的宣传或其他原因,面向对象的思想在表面上可以通过语言作为载体来实现,但实际上,面向对象是一种软件设计思想,与具体的实现完全无关。尽管如此,不可否认的是,这些所谓的纯面向对象语言在代码的可读性以及与自然人类思维的匹配程度方面比面向过程的语言要好得多。在语言层次上,我们通常描述一个对象,我们通常需要描述这个对象的一些属性。例如,盒子是一个实体,它有六个边,如颜色、重量,不管它是空的还是空的,并且可以把东西放进去,把东西拿出来。在面向对象语言中,将此类对象抽象为类是常见的:班级包厢{颜色;内部重量;布尔值为空;放(某物);得到的东西();}要操作盒子,可以执行以下操作:盒子。蛋糕;盒子。get();//从框中取出一些东西。在面向过程的语言中,实体通常被传递给一个贯穿整个世界的函数。以Box为例,Box的操作通常如下:放入(盒子,蛋糕);//在盒子里放入蛋糕get(box);//从框中取出一些东西显然,代码的第一种形式更为常见,因此大多数面向对象的语言都提供了这一级别的详细支持,使代码更易于阅读和理解。C语言作为一种灵活而简单的语言,我们完全可以通过C提供一种简单的机制来实现这样一种更优雅的代码形式。如前所述,面向对象是软件设计的一个概念,它独立于语言。在本节中,我使用一个列表作为如何用C语言设计面向对象代码的示例。定义接口是面向对象语言中更重要的概念之一。接口只执行外部致力于实现接口的实体可以执行的操作,但不公开其实现方式。其优点是,实现人员可以在不接触接口使用者代码的情况下调整实现。让我们看看链表的接口定义:清单1。链接列表的接口定义##如果我不知道#定义//在链表中定义节点结构typedef结构节点{void*数据;结构节点*下一个;}节点;//定义链表结构typedef结构列表{结构列表*_this;节点*头部;int大小;void insert(*)(void*node);//函数指针删除void(*)(void*节点);void(*)清除();int*获取大小();void*(*)get(int index);无效打印(*);}名单;void insert(void*节点);空投(空投*节点);取消清除();int获取大小();void*get(int索引);作废打印();#结束语/从IList接口可以清楚地看到,可以对列表实体(即对象)执行插入、删除、清除、获取大小、获取(索引)和打印操作。接口实现清单2。建造师node*node=空;list*list=空;void insert(void*节点);空投(空投*节点);取消清除();int获取大小();作废打印();void*get(int索引);列表*列表构造()。{list=(list*)malloc(sizeof(list));节点=(*)malloc(sizeof(node));list->head=node;list->insert=insert;//在list实体上注册insert函数实现list->drop=drop;list->clear=clear;list->size=0;list->getsize=getsize;list->get=get;list->print=print;列表->_this=list;//使用_this指针保存列表本身返回列表(list*);}注意这里的\u this指针,它通过确保列表上的外部操作映射到\u this上的操作来简化代码。清单3。插入和删除//在列表对象中插入节点void insert(void*节点){node*current=(*)malloc(sizeof(node));当前->数据=节点;current->next=list->u this->head->next;列表->撏this->head->next=current;(列表->_this->size)++;}//删除指定节点空投(空投*节点){node*t=list->u this->head;节点*d=空;int i=0;对于(i;iu this->the size;i++){d=列出->_this->head->next;if(d->data==(*)节点)->data){列表->撊this->head->next=d->next;自由(d);(列表->“此”->大小)-;休息;}其他{列表->这个->头=列表->这个->头->下一个;}}列表->这个->头=t;}其余的实现代码可以在下载部分找到,但是在这里列出它是没有意义的。既然我们已经尽了一切努力确保我们公开的API尽可能干净和优雅,现在是测试它的时候了:清单4。测试代码int main(int argc,char**argv){list*list=(list*)listconstruction();创建新的链接列表//插入一些测试值列表->插入(“apple”);列表->插入(“Borland”);列表->插入(“Cisco”);列表->插入(“Dell”);列表->插入(“伊莱克斯”);列表->插入(“firefox”);列表->插入(“google”);list->print();//打印整个列表printf(“list size=%d\n”,list->getsize());节点节点;节点。data=“伊莱克斯”;节点。下一个=空;list->drop(&node);//删除节点节点。data=“思科”;节点。next=空;list->drop(&node);//删除另一个节点list->print();//再次打印printf(“list size=%d\n”,list->getsize());list->clear();//清除列表返回0;}图1.运行结果如果你对学习C/C++编程感兴趣,你可以在主页上加入Q组总之,C所诞生的Unix平台促进了一种设计理念,使设计尽可能简单,允许用户将这些简单的工具(如构建块)连接到功能强大、完整的应用程序中。应该说,C语言更好地继承了这一点,C语言非常简洁,非常强大,而且由于C语言的早期诞生,面向对象的思想在当时还不成熟,出现了大量C应用的过程类型,从而给人们一种C语言是一种错觉,面向过程的语言实际上C只是提供了一些简单、强大和通用的能力,至于你想把它分成块的东西都是你自己的。40个优美的词句四年级
版权声明:本文内容由互联网用户投稿整理编辑发布,不拥有所有权,不承担应有相关法律责任。如果文章、图片有涉嫌抄袭的内容,请发送到邮箱举报,且提供抄袭的相关证据,一但查实,会在24小时删除涉嫌侵权内容。
猜您喜欢

想知道女生是不是喜欢你,教用一个问题测试她喜欢你的方法:你可以对她说一句话:你好像长胖了一点?(看看女生是什么反应。不过如果男生问出这个问题,可能让女生觉得你情商低,就算女生喜欢你也有一定的风险性)
2024-02-20

如果男生犯了错惹女朋友生气,那就一定要想办法哄好她,因为是你错了呀。而想要哄好生气的女朋友,那你一定要认识到自己的错误,下面给大家分享惹女朋友生气检讨书1000字,希望能够帮助你哄好你的女朋友。
2024-02-19

如果女朋友说分手后做朋友是什么意思呢?如果是还爱着对方那就不应该选择分手,如果是不爱了那大家就应该彻底断了联系,真正深爱过的人是不可能在分手后做朋友的。下面就来分析女朋友的心理。
2024-02-18
脱单神器

安卓版蜜小助APP
iOS版蜜小助APP
20W+可复制撩妹话术
实战案例+话术+视频+教程
热门文章

口述:公公在梳妆台上给我数次高潮
2013-11-11
1069065

二宮琴美、東熱出操翻白眼昏死
2015-03-14
78328

那个午夜 禽兽继父将我压在身下
2014-04-08
78054

韩国美女主播”钟淑”高清视频精品合集9部 115网盘在线观看
2015-03-11
77288

店长推荐作品 EMP-001 EMPIRE Vol.1 50 波多野结衣 50连发泼溅中 2012年
2015-03-19
75774

留守女人和禽兽公公的不伦性事
2013-12-28
74937

美国男人让我一夜高潮五次
2014-04-29
69845

关牧村与前夫王星军离婚真正原因 关牧村前夫王星军照片家庭背景及个人资料
2014-08-15
64941

公公的精湛床技让我死去活来
2014-04-08
56763

我和小姨子在车上疯狂嘿咻
2013-12-28
56566