In chapter 3 we examined the static features of object-oriented programming languages. In this chapter we will examine their dynamic aspects. Dynamic features include how one goes about creating new instances, how one passes messages, and the interlinked tasks of creation and initializatin.