The two tutorials on this site by senocular are very good for understanding OOP concepts. They’re AS1 and 2 but if you ask me, you’d learn OOP a lot better if you started in AS1 and moved up. Obviously you don’t need to code your projects in AS1, but that tutorial is a heck of a good place to start learning OOP concepts.
If you want to learn good practices, I would actually suggest learning Java. Java is a really good language to learn OOP in and there are tons of great resources. Also, you’re less likely to find bad tutorials. What you learn in Java will translate almost directly to AS3.