无标题文章 - 草稿

   很快c的课程就结束了,开始讲c++,换了一个讲师,等这个讲师出现的时候,我才恍然大悟!我每天坐电梯看着宣传海报上的“五大金牌讲师”那种奇奇怪怪的感觉是什么!原来他们齐刷刷的全是秃顶!而且都很年轻。。。。。。我的天呐~!我以后不会也这样吧!

   总结c的课程,我发现我没学到什么新东西,因为他们讲的跟我自己学的差不多,很多东西,你知道语法了跑通例程了也大概明白作用了,但是下来以后还是不知道应该在哪个场景下应用和怎么应用。实际上,并不是人家讲的不够好,而是因为缺乏经验和必要的知识面不能完全领会,师傅领进门修行在个人,培训机构所做的其实就是领你进门,不要指望某一个知识点你能在他这学明白,就算人家给你讲,你也听不懂,比如说指针吧,基本的东西学过以后,在给你讲些高级应用,万能指针void*,这些东西你能听得懂,但是你肯定不知道什么情况下要用这么一种指针?没有类型,那怎么访问数据?我遇到过这些问题,对于指针的真正应用,我也是在后来的学习中领悟出来的,当知识足够充分的时候,把他们串起来,自然就弄明白很多事情了,当指针弄明白以后,对stl里一些东西的理解就又得到升华了,应用起来也就更加游刃有余,学编程应该是这样一个从中间向两边发展的过程,还是那句话,“学编程,要不求甚解!不能一步一个台阶!”

   c++是我最想听的,我有很多问题,希望能在这得到些答案,但是结果很遗憾,老师一般会用动物做例子,写个动物的基类,然后写个狗的类继承动物这个基类,在写个猫的类,也继承动物这个基类,在基类里写个cry函数,猫和狗分别重写cry,然后调用后分别cout不同的信息出来。老师也讲了很多很多理论,告诉我们为什么会出现这样的结果以及为什么要这样干,我也明白他说的那个意思,但是,我要用在哪???然后就是多态,同样也搞不明白在什么情况下要用多态特性,搞得我稀里糊涂的,都想要放弃c++了,我就不明白为什么要费半天劲写成类啊!真是累啊~!后来在学习c#和java这种高级语言的时候经常使用面向对象的东西,才渐渐把c++弄明白,现在感觉,学面向对象的话,还是这些高级语言方便些。

   c++三大特性,封装,继承,多态。封装很好理解,就比如说我写了个类,我把它弄成一个dll给你用,类里有些函数或变量,我不想被你看到或被你修改了里面的值,因为这些数据可能是保障整个类正常运行的一个关键,这样的数据,就可以用private去声明,但是!!封装,只是在开发阶段,对其他编程人员的一种限定,不要认为它在内存里都是私有的,只是为了让你的代码在访问我的私有数据时,编译不通过而已,事实证明,用指针就可以修改私有成员变量的值。。。

   继承其实并不难,语法很简单,原理也不复杂,我个人认为,继承的难点在于,基类或抽象类的设计,这个就需要一些编程之外的知识了。我做过一个地图下载器,用c++写的,功能是提供一个经纬度区间和level,然后从类似谷歌这种web端地图上下载瓦片地图,可以选择下载源,融合了百度、高德、腾讯几家web地图。当时我是这样干的,我先学习了地理坐标系的知识,然后又了解了瓦片地图的概念,在去了解市面上这些地图网站的http请求是什么样的,准备工作完成后,就开始抽象类了,我写了一个MapBase,定义了一些方法,例如,GetRowCell方法,它的功能是下载指定rowcell的瓦片地图,这个抽象类写好了,我写了一个GoogleMap,继承MapBase,重写了一些方法,把google瓦片地图的算法写了进去,我只需要实例化一个GoogleMap,调用重写后的基类方法GetRowCell,就可以下载到地图了。然后,我又写了一个BaiduMap,继承MapBase,重写一些方法,把百度地图的瓦片算法写进去,ok,现在我有了两个地图的算法,都可以进行下载,现在只需要写一个交互页面,用一个控件来切换数据源就行了,那么问题来了,我现在有两种地图算法,简单的处理办法是,我可以把他们的实例都创建出来等待着被调用,设置一个标志变量type,用户切换到谷歌地图的时候type=1,切换到百度地图的时候type=2,但是,如果我在新加一种地图算法的时候,我还地在新加一种type=3,这样很麻烦,此时,多态该出场了!

   多态用一句话概括就是,“一个子类对象可以被转换成他的父类类型,然后通过调用父类的方法,最终调用到子类对象重写后的方法”,这是我总结的,这句话什么意思呢,我的MapBase有一个GetRowCell方法,两种地图都有各自的算法,需要他们各自去重写了这个方法,那么就可以把BaiduMap的实例化对象转换成MapBase类型,也就是它的父类,调用GetRowCell时,会使用BaiduMap重写的GetRowCell方法!!那么,在我的地图下载器中,我就可以定义一个MapBase的指针,当用户切换地图源的时候,把BaiduMap的对象或GoogleMap的对象地址赋值给这个父类指针,然后,在点击下载按钮的时候,直接使用这个基类指针的下载方法,如pMapbase->GetRowCell(),这样,实际上就执行了用户选择的地图算法,这就是多态!!

   概括总结一下,具有相同属性或方法的类都继承于一个父类,然后各自去实现一些方法的具体行为,最后,可以通过父类类型去调用到每一个子类对象的具体行为,比如,人,猫,狗都是动物,都会喊叫,但是他们喊叫的声音不同,所以各自重写了喊叫的具体行为,那么,作为动物这个类来说,当动物指向人时,调用动物的喊叫方法,实际上发出的是人的声音,因为人重写了这个方法,当动物指向猫的时候,在调用动物的喊叫方法,实际上发出的是猫的叫声。这么看来,继承和多态往往是分不开的。封装呢,就是我在设计猫这个类的时候,把猫设计成四脚站立方式了,当我把猫这个类给你用的时候,我不希望你修改一些数据,不管你是有意的还是无意的,因为这些数据可能导致这个猫变成两条腿站立的,那么,我就把这些数据设计成private访问属性。

   面向对象搞懂以后,应用起来还是很爽的!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 母亲节将至,谨以次为礼物,献给我最最爱的老母亲! 岁月悠悠,原来那个俊俏漂亮的年轻农村媳妇,经过生活的磨难和岁月的...
    e5b0a7f30ae2阅读 225评论 0 0
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,678评论 0 9
  • 每一天早晨起来都是一个新的开始,昨天已经被重置,明天尚未开始。昨天还未解决的困难留在了今天,明天还未实现的希望也存...
    孙木空阅读 451评论 0 0
  • 母亲节将至,谨以次为礼物,献给我最最爱的老母亲! 岁月悠悠,原来那个俊俏漂亮的年轻农村媳妇,经过生活的磨难和岁月的...
    e5b0a7f30ae2阅读 646评论 0 2
  • 原创 2017-06-14 墨子墨海文空 听说,小鲜肉和小仙女都关注了墨海文空,你就不关注一个? “遇到手握重权又...
    墨念雨阅读 251评论 0 0