User Tools

Site Tools


python:python_misc:oo_fundamentals_with_python

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
python:python_misc:oo_fundamentals_with_python [2018/11/30 18:28] – [Behavior] mithatpython:python_misc:oo_fundamentals_with_python [2018/11/30 18:39] – [Class-based object-orientation] mithat
Line 70: Line 70:
 {{:python:about_python:farberware4241-200.jpeg?nolink|}} {{:python:about_python:farberware4241-200.jpeg?nolink|}}
  
-I have a Farberware 4241 microwave oven in my office. It's small, but it gets the job done. There is a factory somewhere making these by the thousand million, and they make all the Farberware 4241s from a master plan. That master plan defines what the Farberware 4241 //is//. In computing terminology, we would call that master plan a **class**. A class contains all the specifications needed to make a particular kind of object. +I have a Farberware 4241 microwave oven in my office. It's small, but it gets the job done. There is a factory somewhere making these by the thousand million. They make all the Farberware 4241s from a master plan, a plan that defines what the Farberware 4241 //is//. In object-oriented design terminology, we would call that master plan a **class**. A class contains all the specifications needed to make a particular kind of object.
  
-Every Farberware 4241 begins its life identical to every other freshly-made Farberware 4241 because they were made using the same master planSo, the one in my office that I pulled out of the box last month was identical to the one that I bought my best friend last week later because they were built from the same master plan, or, if you will, the same class. But as my best friend and I started using our ovens, the state of each changed. Note that while the behavior designed into the oven---the operations it's capable of---doesn't (and won't) change, the state of any individual oven does change over time.+Languages that support **class-based object-oriented programming** let you define classes at a very high levelOnce you've defined a class you can then create **instances**: objects created from a class. The process of creating an instance from a class is called **instantiation**.
  
-In **class-based object-oriented programming**, we call objects that have been created from classes **instances**. Thus my oven is an instance of a Farberware 4241. The process of creating an instance from a class is called **instantiation**. So you might say the Farberware factory spends it's entire day instantiating 4241 ovens.+Thus my oven is an instance of a Farberware 4241, and you might say the Farberware factory spends it's entire day instantiating 4241 ovens.
  
 ==== Prototype-based object-orientation ==== ==== Prototype-based object-orientation ====
python/python_misc/oo_fundamentals_with_python.txt · Last modified: 2018/11/30 18:45 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki