using constructor to implement data abstraction

It's so amazing, I just learnt the sicp's chapter 2, and it's talking
about data abstraction, now I'm applying the principle