[…] What are the best books to learn Pascal? […]
I wouldn't care too much about that question. You
learn programming in
any imperative, structured, object-oriented programming language at hand. At some point you do a transition from one to another language, i.e. to Pascal. The rest is “just” studying the reference manual.
My point is, there a lots of tutorials/introductions for Pascal, but I doubt there's any fair and recent OOP-introduction (using Pascal), that'll explain all the principles you need. Since e.g. polymorphism's nothing unique to Pascal, I say you can learn and practice it in any language you'd like, and eventually transfer your knowledge (with consulting the reference manual).