《Effective Ruby:改善Ruby程序的48条建议》一第2章 类、对象和模块

简介:

本节书摘来自华章出版社《Effective Ruby:改善Ruby程序的48条建议》一书中的第2章,作者 [美]彼得 J.琼斯(Peter J. Jones),更多章节内容可以访问云栖社区“华章计算机”公众号查看

第2章

类、对象和模块
面向对象程序设计(OOP)是Ruby的谋生之道。Ruby通常被认为是一门纯粹的面向对象语言,因为Ruby中的任何事物都是或者可以被转化为一个对象,我是说每个
事物。
Ruby的对象模型受到Smalltalk的严重影响,因此,如果你是由C++或Java转型而来的程序员,可能会觉得这和你曾使用过的其他语言有些不同。类也是对象这个事实足以让你的思维陷入无限递归模式。此外还有一些陷阱,如子类不会自动初始化其超类,以及定义变量和调用setter方法存在模糊的概念。本章将针对这些问题进行整理和说明。
此外,我将阐述当你创建类、子类,并将模块引入它们时,Ruby如何真正地构建继承体系(inheritance hierarchies)。了解了这些信息,你就能够在使用大型框架如Ruby on Rails时掌握一项重要的技能:追踪出方法是如何被引入类中的以及它们从何
而来。
理解了Ruby对OOP的偏好将帮助你做出更好的决定并避免长周期的设计错误。尤其是遇到Ruby的开放和动态特性时,这些特性可以用来创建抽象泄漏并忽略封装。二者都可能导致噩梦般的维护和持续到深夜的调试。而我将帮你避免这些问题。

相关文章
|
8月前
|
Ruby
|
8月前
|
Ruby
|
5月前
|
开发者 编解码
界面适应奥秘:从自适应布局到图片管理,Xamarin响应式设计全解析
【8月更文挑战第31天】在 Xamarin 的世界里,构建灵活且适应性强的界面是每位开发者的必修课。本文将带您探索 Xamarin 的响应式设计技巧,包括自适应布局、设备服务协商和高效图片管理,帮助您的应用在各种设备上表现出色。通过 Grid 和 StackLayout 实现弹性空间分配,利用 Device 类检测设备类型以加载最优布局,以及使用 Image 控件自动选择合适图片资源,让您轻松应对不同屏幕尺寸的挑战。掌握这些技巧,让您的应用在多变的市场中持续领先。
47 0
|
5月前
|
开发者 测试技术 Android开发
Xamarin 开发者的五大常见问题及解决方案:从环境搭建到性能优化,全面解析高效跨平台应用开发的技巧与代码实例
【8月更文挑战第31天】Xamarin 开发者常遇问题及解决方案覆盖环境搭建至应用发布全流程,助新手克服技术难关。首先需正确安装配置 Visual Studio 及 Xamarin 支持,设置 iOS/Android 测试环境。利用 Xamarin.Forms 和 XAML 实现高效跨平台开发,共享 UI 和业务逻辑代码。针对性能优化,采取减少 UI 更新、缓存计算结果等措施,复杂问题则借助 Xamarin Profiler 分析。
62 0
|
5月前
|
设计模式 缓存 测试技术
Ruby代理模式之谜:如何用简单的方法创建灵活的对象接口?
【8月更文挑战第31天】代理模式是一种设计模式,通过创建代理对象来控制对目标对象的访问,可在Ruby中通过Proc对象、模块混入等方式实现。本文介绍了代理模式的概念及其实现方法,并提供了缓存、验证和日志代理等应用场景的示例代码,帮助开发者更好地理解和运用这一模式,提升程序灵活性与健壮性。
42 0
|
8月前
|
Ruby
|
8月前
|
Ruby
|
8月前
|
Ruby
|
8月前
|
Ruby
|
8月前
|
Ruby