剑轩

面向对象理解

电脑版发表于:2018/10/11 17:20


面向过程:c语言  面向过程的设计语言 ,把一个问题分解成一步一步的去解决的思想,是一种处理具体细节问题的思想


把一个大象放进冰箱里边需要几步:

1:打开冰箱

2:把大象放进去

3:关闭冰箱           


关键是冰箱门由谁来打开

面向过程是一种解决具体问题的思考方法,而不是解决软件设计的具体方法。


面向对象:告诉冰箱帮我把大象放进去


面向对象解决问题的思路:   

先确定这个问题中涉及的对象,比如这里的冰箱,然后在确定这个对象的具体行为:打开冰箱,把大象放进去,关闭冰箱

这种思考问题的方式就叫面向对象。


**我们在进行软件设计,软件架构的时候,不必关心解决问题的具体步骤,而应该是关心由谁来解决这个问题**!在设计的时候站的角度高一点,而不是去解决问题具体的细节,分析具体的细节,也就是解决问题的具体步骤,这个应该是具体实现的时候去思考,也就是所谓的面向过程,所以面向过程应该是解决具体细节的问题,而不是面向对象这种站在全局考虑的。所以面向过程,面向对象不过是是站的高度站的角度不一样而已,面向领域的领域驱动也是一样,站的角度和高度不一样


软件设计的阶段,想把所有的细节搞清楚不可能的,因为细节太多,所以在设计阶段我们关系的问题不是具体的细节而是谁来解决这个问题。

面向对象这种解决问题的思维方式其实是站的角度比较高,占的角度不一样

王者荣耀游戏:先确定对象,地图对象,英雄对象,皮肤对象    最开始都是抽象的

重新创建一个类,然后继承我的英雄对象这个类。


   

面向对象三大特性:封装、继承、多态

封装:不必关系关系具体的细节,只要会用就行了,比如汽车,不必知道汽车内部原理,只要会开就行了。比如王者荣耀这种,你必关系英雄技能的具体细节,只要知道怎么用就行了。

集成:子类可以集成父类的方法和属性,所有子类共同的地方可以抽象出来,子类共同拥有

多态:同一个方法可以有不同的实现,或者同一个方法在不同子类中有不同的实现。比如所有英雄都有1技能,但是每个1技能效果都不一样,这就是多态


           

什么类:类是具有相似属性和方法对象的集合。类是抽象的,在设计类的时候,会考虑具体的行为和属性

什么是对象:对象是具体的实例,对象是具体的



访问区分符:可以实现封装,涉及到访问权限的问题


public:公共的,所有地方都可以访问

private:私有的,只能在本类可以用

internal:内部的,在同一个名称空间下可用

protected:受保护的,在子类中才能访问

         

  

类的成员:字段,方法,属性,索引器,枚举,静态属性和方法,还可以写类

属性,其实就是两个关键字get(读),set(写),通过这两个关键字就可以控制权限

生成属性的快捷键:prop+double tag

属性的原理是:是一种语法糖,内部原理是两个方法,一个写方法和一个读方法。


关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢