单项选择题

在面向对象的软件结构中,对象是数据抽象和过程抽象的封装体。对象的状态封装在各个对象内,状态的变化由()来改变。

A.外部的事件
B.对象的操作
C.系统原来的状态与外部的事件
D.消息的传递