# Chapter 4 Best Practices of Class Design


# Designing for inheritance and polymorphism

print("=========================================================")


# Polymorphic methods

print("=========================================================")


# Square and rectangle

print("=========================================================")


# Managing data access: private attributes

print("=========================================================")


# Attribute naming conventions

print("=========================================================")


# Using internal attibutes

print("=========================================================")


# Properties

print("=========================================================")


# What do properties do?

print("=========================================================")


# Create and set properties

print("=========================================================")


# Read-only properties

print("=========================================================")


# Congratulations!

print("=========================================================")