Alex学Ruby [关于多态关联]

本文解释了面向对象编程中多态关联的概念,通过实例说明如何利用多态关联避免代码重复,实现DRY原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚才看了李妙妙的 这篇文章
感觉说的不是很明白, 并没有从面向对象的角度说清楚,我的理解:

要理解多态关联,首先要理解什么是多态。 多态是面向对象一个特性。 同一个对象有不同的行为,叫多态。

在李举的那个例子里, article,image, sound,这三个model会有很多共同的行为, 如果没有使用多态关联,那么每个model里面,会有相同的行为,如果你在article里加了 一个行为, 那么过几天,image里也多了这么一个行为,你就又得在image里添加这个行为,多麻烦。既然有相同的行为,那么可以抽象出来,那么就是CatalogEntry, 这个类,是多态的。 而它对应的table,实现了和其他三个model对应表的关联,所以叫多态关联。这样我们操作起来就实现了rails所倡导的dry。

多态关联就是这样的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值