Documente Academic
Documente Profesional
Documente Cultură
Object-oriented Programming, or OOP for short, is a programming paradigm which provides a means of
structuring programs so that properties and behaviors are bundled into individual objects.
For instance, an object could represent a person with a name property, age, address, etc., with
behaviors like walking, talking, breathing, and running. Or an email with properties like recipient list,
subject, body, etc., and behaviors like adding attachments and sending.
Object-oriented programming is an approach for modeling concrete, real-world things like cars as well
as relations between things like companies and employees, students and teachers, etc. OOP models
real-world entities as software objects, which have some data associated with them and can perform
certain functions.
Another common programming paradigm is procedural programming which structures a program like a
recipe in that it provides a set of steps, in the form of functions and code blocks, which flow sequentially
in order to complete a task.
The key takeaway is that objects are at the center of the object-oriented programming paradigm, not
only representing the data, as in procedural programming, but in the overall structure of the program as
well.
One of the popular approach to solve a programming problem is by creating objects. This is known as
Object-Oriented Programming (OOP).
attributes
behavior
Parrot is an object,
The concept of OOP in Python focuses on creating reusable code. This concept is also known as DRY
(Don't Repeat Yourself).
Inheritance A process of using details from a new class without modifying existing class.
Encapsulation Hiding the private details of a class from other objects.
Polymorphism A concept of using common operation in different ways for different data input.
Class
Classes and objects are the two main aspects of object oriented programming. A class creates a
new type where objects are instances of the class. A class is a blueprint for the object.
While the class is the blueprint, an instance is a copy of the class with actual values, literally an
object belonging to a specific class. It’s not an idea anymore; it’s an actual animal, like a dog
named Roger who’s eight years old.
Also, we used the Python keyword pass here. This is very often used as a place holder where
code will eventually go. It allows us to run this code without throwing an error.
class Dog:
pass
Note: The above code is correct on Python 3. On Python 2.x (“legacy Python”) you’d use a
slightly different class definition:
class Dog(object):
pass
The (object) part in parentheses specifies the parent class that you are inheriting from (more on
this below.) In Python 3 this is no longer necessary because it is the implicit default.
Instance Attributes
All classes create objects, and all objects contain characteristics called attributes (or properties).
Use the __init__() method to initialize an object’s initial attributes by giving them their default
value (or state). This method must have at least one argument as well as the self variable, which
refers to the object itself.
class Dog:
NOTE: You will never have to call the __init__() method; it gets called automatically when you
create a new ‘Dog’ instance.
Class Attributes
While instance attributes are specific to each object, class attributes are the same for all
instances—which in this case is all dogs.
class Dog:
# Class Attribute
species = 'mammal'
So while each dog has a unique name and age, every dog will be a mammal.
Methods
Methods are functions defined inside the body of a class. They are used to define the behaviors
of an object.
Instantiating Objects
class Dog:
# Class Attribute
species = 'mammal'
# Is Philo a mammal?
if philo.species == "mammal":
print("{0} is a {1}!".format(philo.name, philo.species))
Save this as dog_class.py, then run the program. You should see: