问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

道理简单理解很难 面向对象的本质是什么?

发布网友 发布时间:2022-07-28 10:39

我来回答

1个回答

热心网友 时间:2023-11-06 06:45

什么是面向对象的本质呢? 万物皆对象?No 抽象?No 复用?No 那到底是什么呢? 万物皆对象。问了几位网友,这是答复之一。看到了某个事物就来一个class?显然没有那么简单。至少也要抽象一下呀。 抽象。比如一些文章里说,可以根据猫猫、狗狗抽象出来一个Animal出来,然后定义Cat,继承Animal,在定义Dog,也是继承Animal。抽象就是本质了吗?那么为什么要抽象,而不直接定义Cat、Dog呢?这么“折腾”一下的目的是什么呢?或者说有什么好处? 复用。Cat可以复用Animal里的属性、方法等,Dog也可以复用Animal里的属性方法。这样看来复用好像就是本质了。 哎,说道复用我就比较郁闷。我是从面向过程学过来的,经过漫长艰苦的学习,现在还没有完全转到面向对象。好像跑题了。 面向过程里就解决了复用的问题,定义一个过程(过程、函数)就可以达到复用的目的。别人有的,你也有,那不算什么优势。别人没有的你有,那就是优势了。既然面向过程已经可以服用了,那么在面向对象里面也谈复用,那还有什么优势呢? 面向过程可以达到复用的目的,但是有一个致命的缺点:混乱。定义出来的函数没有层次,没有管理。假设一个项目里有一万个函数,那么这些个函数就会杂乱无章的出现。要管理的话也只能按照页面、窗体等来划分。总之呢,想要管理好面向过程里的众多函数是一件头痛的事情。 我觉得面向对象是有面向过程“进化”过来的,但是有人说面向对象是直接“蹦”出来的,不管他是怎么出来的了,总之他是很好的解决了“管理复用”的问题。 封装(Class):把相关的属性、方法、事件放在一起,化零为整,统一管理。该隐藏的隐藏,该暴露的暴露。这是管理的第一步。 ==================== 继承:都封装起来了,那么就失去了灵活性。如何保证灵活性呢?继承(还有函数重载等)。也就是多态了。相同的放在父类,不同的放在子类。这是我的理解,当然你可以说这种理解是错误的。Class就好比一个大的家族,父类是根基,子类各有各的特点。正所谓:龙生九子各有不同。 子类可以复用父类里的属性、方法、事件,这就是一种复用的管理方法。 组合(合成):父类、子类、抽象基类,这些都是一个家族里的关系,那么两个家族有如何呢?组合。Has A,一个类里包含另一个类,通过这种方式来实现复用。这又是复用的一种管理方法。 接口:抽象基类是一个很好用的东东,比如DbCommand,用过的兄弟们都会体会到他的方便吧。但是他只能管同一个家族里的,另一个家族的就不行了。如果哪个数据库(比如PostgreSQL)没有继承DbCommand怎么办呢?接口就可以跨越不同的家族。当然接口也有一个致命的弱点,本身不能有任何的实现部分,他只能定义。 面向对象的各种特点都是为了“管理复用”,所以我觉得面向对象的本质就是“管理复用”。至于对象只是一种“表象”。 在多说几句,我是不喜欢被所谓的“对象”所束缚的。以前问过,SQLHelp为什么要写成静态函数的形式,答曰:数据访问是一个对象吗?怎么实例化呢? 我觉得数据库就是一个对象,数据访问也是一个对象。数据访问就是数据库的一个“代言人”。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
官户的介绍 ...因为在家怕用水羊皮该硬了。如何清洗,不要说用盐,谢谢。 祛痣后的注意事项 “应道不痴颠”的出处是哪里 “素娥作意失幽期”的出处是哪里 斗鱼怎么举报主播 汪东城在张惠妹《记得》MV里哪里出现了啊? 谁知道张惠妹《记得》MV里的男主角是谁 关于幼儿想像的说法,不正确的是( )。 苏州游船招聘信息,苏州自驾游艇旅游攻略 本田思域是涡轮增压吗 高速移动硬盘 联想给你带来不一样的空间 木质素跟酸性洗涤纤维、中性洗涤纤维、酸性洗涤木质素、有什么关系? 夜间一点多梦见男孩5抱着大黄狗是怎么回事? 梦见大黄狗什么寓意 为什么梦见大黄狗 小红书tag看不到自己 求教,希捷移动硬盘盒怎么拆? 英雄联盟手游注销在哪看记录 手机英雄联盟可以清除缓存会影响游戏吗 9.95红包什么意思? 艰苦奋斗属于人生的磨练吗 奥运冠军坚持锻炼勇于拼搏的感人小故事 砼路面 混凝土路有是么区别? 王者荣耀什么时间段的小学生最多? 只有玩国服王者荣耀游戏时间过长会出现图中这种被禁赛的情况吗? 家里满堂红盆景果子一掉,还怎么养? 关于“青春要不怕吃苦”的名言有哪些? 关于不怕吃苦,不怕挫折的名言 有关坚持,不怕吃苦的名人名言 鹊梅丶,巴西红果丶,福建茶,哪一种最好养- 问一问 面向对象的本质是什么 匹多莫德片有什么功效?如题 谢谢了 唯田匹多莫德分散片有什么用? 匹多莫德分散片功效 芙露饮(匹多莫德口服液)功效怎么样呢 含有什么成分呢 微乐分逾期发1069短信说限制微信账号登陆是真是假 骑砍2老兵的敬意是什么技能 2010 office怎么把pdf转成word呢 吃苦的反义词 骑马与砍杀2斥候需要什么属性 骑马与砍杀怎么把统御士气改高点 这种伊利巧乐兹巧克力雪糕市面上和批发卖多少钱一个一箱啊??? 梦见认识的男人把我家灶火扐得亮燃? 梦见4,5个人点火烧房子,被我发现 梦见别人点火烧了我仅有的柴火火已往快灭了 骑马与砍杀:无双三国怎么快速提高统御 注册会计师报名注册填写了一半信息还能补充么 骑马与砍杀战团统御修改 骑马与砍杀2有没有加统御随从? 骑马与砍杀如何修改统御技能效果