>>206
設計は人それぞれだけど、1つ例を挙げるなら

addressList = AddressList(fileName)
xml = addressList.toXML()
xml.write(outputFileName)

こんな感じかな。
住所録っていう実在するもの(エンティティという)に対応したクラスを作って、
そのクラスに必要な操作を追加していく、って感じ。
プログラムの規模が大きくないと、メリットがあまり無いうえ、設計がキモで、
設計によって良いプログラム(再利用性が高い)にも糞にもなりうる。
他に継承やオーバーライドというキーワードがあるので調べておこう。

多少分かったら、次はポリモーフィズムやデザインパターンを勉強するといい。
これがオブジェクト指向が何たるを理解するための最短ルートだと思う。