20、Clojure与面向对象编程中的状态管理:以抱抱僵尸为例

Clojure与面向对象编程中的状态管理:以抱抱僵尸为例

1. 形而上学的基本问题

形而上学试图从最广泛的层面回答两个基本问题:
- 存在什么?
- 它是什么样的?

为了揭示Clojure和面向对象(OO)语言之间的差异,我们以抱抱僵尸为例。抱抱僵尸与普通僵尸不同,它不想吞噬你的大脑,只想和你拥抱,甚至闻闻你的脖子,这种不死、蹒跚、腐朽的状态显得格外悲惨。

2. 面向对象的形而上学

在面向对象的形而上学中,抱抱僵尸被视为世界中存在的一个对象。这个对象具有可能随时间变化的属性,但仍被视为一个单一、恒定的对象。

例如,在Ruby中可以这样建模和与抱抱僵尸交互:

class CuddleZombie
  # attr_accessor 是为列出的实例变量创建getter和setter的简写方式
  attr_accessor :cuddle_hunger_level, :percent_deteriorated
  def initialize(cuddle_hunger_level = 1, percent_deteriorated = 0)
    self.cuddle_hunger_level = cuddle_hunger_level
    self.percent_deteriorated = percent_deteriorated
  end
end
fred = CuddleZombie.new(2, 3)
fred.cuddle_hunger_level  # => 2
fred.percent_deteriorate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值