zoukankan      html  css  js  c++  java
  • 《你必须知道的.net》读书笔记 001——1.1 对象的旅行


        好久没看书了,上次看书的时候还是一年前了,一个偶然的机会,比较系统的看了一下OO的基础,封装、继承、多态等,当时真的是很不会,看了也是一知半解,迷迷糊糊的。在实际中的项目里也没敢一下子应用OO,还是用自己比较拿手的面向过程来应对项目,然后一点一点使用OO的技巧来代替一部分的代码(或者叫做功能)。

        应为是使用C#来编写程序,所以多了解一下OO的特点和技巧,对写程序是有很大的帮助的。anytao写的这本书,感觉可以解决一些我心里的一些迷惑的地方吧。

        读了不能白读,写点读后感吧,一是记录一下书里面的知识点,好像上课的时候的笔记,另一个就是写点自己的感想,怪不得上了年纪的人就喜欢唠叨。

        重头开始。

        第一部分 渊源 .NET与面向对象 

         “在.net世界里,一切都是对象。面向对象思想的掌握是深入理解.net技术的必修课,.net Framework的高楼大厦中,是什么支撑着各个复杂度的系统相互有效地协作,请面向对象这问设计师告诉大家。”好了,不多写了,有抄书的嫌疑。

        以前看一些文章,什么鸭子了,电饭锅了,都看不懂,看代码里面都是抽象类了,接口了,就是一头雾水。程序里哪里来的鸭子呀,电饭锅呀,鸭子.speak()。鸭子就叫了,那么是怎么叫得呢?
    function speak()
    {
        write("鸭子叫");
    }

        这样鸭子就叫了,晕呀。这个,我写这个,程序就运行起来了?数据就跑到数据库里面了吗?其实这些文章都是在讲如何设计(思想),而不是在讲如何具体的编码。看了多了,才能有一点点的理解。

        再说代码,下了一个demo,打开之后,看到一个函数,右键,查看定义。转到了接口的定义,那么实现在哪里呢?找不到。也就没有兴趣再往下看了。

        学了OO,又尝试着自己写了几段代码之后才慢慢理解了一点。

        
        1.1对象的旅行
        
        对象的类型,按照对象运行时在内存中的位置分为两类:值类型和引用类型。

        值类型位于线程的堆栈引用类型位于托管堆

        大学的时候就没有弄清楚栈和堆的区分,现在也只是有个大概的印象,好像栈有一个先进先出、先进后出的,而堆就没有这些了。总之还是比较迷糊的。

        书上说,值类型和引用类型的角色会发生转变,产生了装想和拆箱。我觉得应该是

        值类型 —— 装箱 ——变成了引用类型 —— 拆箱 —— 变回了值类型。(当然具体都做了些什么还是不太清楚)

        而这样的是不存在的吧 ,引用类型 —— 拆箱 —— 变成了值类型 —— 装箱 —— 变回了引用类型。好像按照书上的例子会产生奇异。(也许是我的想法太怪了吧)

        其他的就不说了,访问修饰符嘛,我只用三个,private、protected、public,其他的基本不用。具体的解释和我的想法是相反的,可能是观看的角度不一样吧。

        我的看法:
        public ,共有的,谁都可以访问、调用,就好像员工,来一个领导就可以“调用”一下,给分点活干。
        private ,私有的,类外面是不能调用的,谁敢管领导呀。
        
        属于开玩笑了。另外发现了一个小错误,第五页,表 1-1 访问修改符。而下面是“访问修饰符”。

      


     

  • 相关阅读:
    BZOJ1050: [HAOI2006]旅行comf(并查集 最小生成树)
    洛谷P1762 偶数(找规律)
    抽象类的基本概念------abstract
    百度地图小图标没有显示的解决方案
    nfs:server 172.168.1.22 not responding,still trying问题解决方法 平台为RealARM 210平台
    大话分页(二)
    In App Purchases(IAP 应用程序內购买): 完全攻略
    快速修改数组的问题
    64位linux中使用inet_ntoa报错处理
    CDN和双线机房相比有何优势
  • 原文地址:https://www.cnblogs.com/jyk/p/1242889.html
Copyright © 2011-2022 走看看