《你必须知道的.net》读书笔记 001——1.1 对象的旅行
来源:互联网 发布:php 一句话木马 上传 编辑:程序博客网 时间:2024/06/06 01:07
好久没看书了,上次看书的时候还是一年前了,一个偶然的机会,比较系统的看了一下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 访问修改符。而下面是“访问修饰符”。
- 《你必须知道的.net》读书笔记—对象的旅行
- 《你必须知道的.net》读书笔记 001——1.1 对象的旅行
- 你必须知道的.NET之读书笔记
- 《你必须知道的.net》读书笔记 004 —— 1.4 多态的艺术
- 《你必须知道的.net》读书笔记 003 —— 1.3 封装的秘密
- 《你必须知道的.net》读书笔记 008——2.4 依赖倒置
- 《你必须知道的.net》读书笔记 007——2.3 开放封闭原则
- 《你必须知道的.net》读书笔记 006——2.2 单一职责原则
- 《你必须知道的.net》读书笔记 005——1.5 玩转接口
- 《你必须知道的.net》读书笔记 002——1.2 什么是继承
- 《你必须知道的.NET》读书笔记:内存分配等
- 《你必须知道的.NET》
- 你必须知道的.net
- 你必须知道的.NET
- [你必须知道的.NET]第十八回:对象创建始末
- 你必须知道的.NET:对象创建始末(上)
- 你必须知道的.NET:对象创建始末(下)
- 你必须知道的.NET——内存分配
- 《你必须知道的.net》读书笔记 004 —— 1.4 多态的艺术
- 《你必须知道的.net》读书笔记 003 —— 1.3 封装的秘密
- 如果有一个这样的需求,您会如何设计?考考你的设计能力:)
- 【更正】“给自定义控件(Web Control)添加事件的几种方法”有一个不太准确的地方。
- 《你必须知道的.net》读书笔记 002——1.2 什么是继承
- 《你必须知道的.net》读书笔记 001——1.1 对象的旅行
- 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.3 【增加了使用说明】
- 给自定义控件(Web Control)添加事件的几种方法。前两种方法可以不实现IPostBackEventHandler
- 【开源】QuickPager ASP.NET2.0分页控件 v2.0.0.2版本。
- SSH集成异常1
- 【开源】QuickPager ASP.NET2.0分页控件——使用示例、基本应用和查询功能
- 【开源】我的分页控件正式命名为QuickPager ASP.NET2.0分页控件
- 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.1——分页控件的源码 (二)
- 【开源】QuickPager ASP.NET2.0分页控件V2.0.0.1——分页控件的源码(一) 主体