Book Image

Learning Object-Oriented Programming

By : Gaston C. Hillar
Book Image

Learning Object-Oriented Programming

By: Gaston C. Hillar

Overview of this book

Table of Contents (16 chapters)
Learning Object-Oriented Programming
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Index

A

  • abstract base class
    • declaring, that implements two interfaces / Declaring an abstract base class that implements two interfaces
    • subclasses, declaring / Declaring subclasses of an abstract base class
  • Abstract Base Classes
    • working with / Working with abstract base classes
  • access modifiers, C#
    • using / Using access modifiers
    • protected / Using access modifiers
    • private / Using access modifiers
    • internal / Using access modifiers
    • protected internal / Using access modifiers
  • actions
    • from verbs, recognizing / Recognizing actions from verbs – methods
  • Animal abstract class
    • about / Understanding inheritance
  • Animal class
    • about / Using classes to abstract behavior
    • methods / Understanding inheritance
    • print_legs_and_eyes method / Creating classes that specialize behavior in Python
    • print_age method / Creating classes that specialize behavior in Python
    • _lt__ method / Overloading operators in Python
    • __le__ method / Overloading operators in Python
    • __gt__ method / Overloading operators in Python
    • __ge__ method / Overloading operators in Python
    • printLegsAndEyes method / Creating objects that specialize behavior in JavaScript
    • printAge method / Creating objects that specialize behavior in JavaScript
  • attributes
    • recognizing / Recognizing attributes/fields
    • about / Recognizing attributes/fields

B

  • blueprints
    • generating, for objects / Generating blueprints for objects
    • organizing / Organizing the blueprints – classes

C

  • C#
    • object-oriented approach / Object-oriented approaches in Python, JavaScript, and C#
    • classes, declaring / Declaring classes in C#
    • constructors, customizing / Customizing constructors in C#
    • destructors, customizing / Customizing destructors in C#
    • classes, instances creating / Creating instances of classes in C#
    • data, encapsulating / Encapsulating data in C#
    • access modifiers / Using access modifiers
    • simple inheritance, working with / Working with simple inheritance in C#
    • generics / Working with generics in C#
    • object-oriented code, organizing / Organizing object-oriented code in C#
    • existing code, refactoring / Refactoring existing code in C#
  • CartoonDog class
    • about / Taking advantage of polymorphism
  • characters
    • about / Understanding the requirement to work with multiple base classes
    • comic character / Understanding the requirement to work with multiple base classes
    • game character / Understanding the requirement to work with multiple base classes
  • Chrome Developer Tools (CDT) / Understanding that functions are objects in JavaScript
  • Circle class / Recognizing actions from verbs – methods
  • class
    • elements / Understanding the different members of a class
    • members / Understanding the different members of a class
  • classes
    • about / Organizing the blueprints – classes, Understanding classes and instances
    • declaring, in Python / Declaring classes in Python
    • in Python, instances creating / Creating instances of classes in Python
    • declaring, in C# / Declaring classes in C#
    • using, to abstract behavior / Using classes to abstract behavior
  • class fields
    • about / Adding fields to a class
  • composition
    • in JavaScript, working with / Working with composition in JavaScript
    • base constructor functions, declaring / Declaring base constructor functions for composition
    • constructor functions, declaring / Declaring constructor functions that use composition
    • object, composed, of many objects / Working with an object composed of many objects
    • instances, objects composed / Working with instances composed of many objects
  • constructor functions
    • working with, in JavaScript / Working with constructor functions in JavaScript
  • constructors
    • about / Understanding constructors and destructors
    • in Python, customizing / Customizing constructors in Python
    • customizing, in C# / Customizing constructors in C#

D

  • data
    • protecting / Protecting and hiding data
    • hiding / Protecting and hiding data
  • data, encapsulating in C#
    • about / Encapsulating data in C#
    • fields, adding to class / Adding fields to a class
    • access modifiers, using / Using access modifiers
    • getters, using / Using property getters and setters in C#
    • setters, using / Using property getters and setters in C#
    • auto-implemented properties, working with / Working with auto-implemented properties
    • methods, used for adding behaviors to classes / Using methods to add behaviors to classes in C#
  • data, encapsulating in JavaScript
    • about / Encapsulating data in JavaScript
    • properties, adding to constructor function / Adding properties to a constructor function
    • data hiding, with local variables / Hiding data in JavaScript with local variables
    • getters, using / Using property getters and setters in JavaScript
    • setters, using / Using property getters and setters in JavaScript
    • methods, used for adding behaviors to constructor functions / Using methods to add behaviors to constructor functions
  • data, encapsulating on Python
    • about / Encapsulating data in Python
    • attributes, adding to class / Adding attributes to a class
    • data hiding, prefixes used / Hiding data in Python using prefixes
    • getters, using / Using property getters and setters in Python
    • setters, using / Using property getters and setters in Python
    • methods, used for adding behaviors to classes / Using methods to add behaviors to classes in Python
  • destructors
    • about / Understanding constructors and destructors
    • in Python, customizing / Customizing destructors in Python
    • customizing, in C# / Customizing destructors in C#
  • Dog class
    • about / Using classes to abstract behavior, Understanding inheritance
  • DomesticMammal abstract class
    • about / Understanding inheritance
  • DomesticMammal class
    • about / Using classes to abstract behavior, Understanding inheritance
  • duck typing
    • and parametric polymorphism / Understanding parametric polymorphism and duck typing
    • in Python / Working with duck typing in Python
    • in JavaScript / Working with duck typing in JavaScript
  • duck typing, in JavaScript
    • constructor function, declaring / Declaring a constructor function that defines the generic behavior
    • prototype chain, working with / Working with the prototype chain and duck typing
    • methods, declaring / Declaring methods that work with duck typing
    • generic methods, using for multiple objects / Using generic methods for multiple objects
    • working with / Working with duck typing in mind
  • duck typing, in Python
    • working with / Working with duck typing in Python, Working with duck typing in mind
    • base class, declaring / Declaring a base class that defines the generic behavior
    • subclasses, declaring / Declaring subclasses for duck typing
    • class, declaring / Declaring a class that works with duck typing
    • generic class, using for multiple types / Using a generic class for multiple types

E

  • Ellipse class / Recognizing actions from verbs – methods

F

  • fields
    • recognizing / Recognizing attributes/fields
    • about / Recognizing attributes/fields
  • functions
    • about / Understanding that functions are objects in JavaScript

G

  • generics
    • in C# / Working with generics in C#
    • interface, declaring / Declaring an interface to be used as a constraint
    • abstract base class, declaring / Declaring an abstract base class that implements two interfaces
    • subclasses of abstract base class, declaring / Declaring subclasses of an abstract base class
    • class, declaring / Declaring a class that works with a constrained generic type
    • generic class, using for multiple types / Using a generic class for multiple types
    • class, declaring for two constrained generic types / Declaring a class that works with two constrained generic types
    • generic class, using with two generic type parameters / Using a generic class with two generic type parameters
  • getters
    • about / Understanding the different members of a class

I

  • inheritance
    • about / Understanding inheritance
  • instances
    • about / Understanding classes and instances
    • in JavaScript, creating / Creating instances in JavaScript
  • interfaces
    • about / Interfaces and multiple inheritance in C#
    • declaring / Declaring interfaces
    • classes, declaring / Declaring classes that implement interfaces
    • multiple inheritance, working with / Working with multiple inheritance
    • receiving, as arguments / Working with methods that receive interfaces as arguments

J

  • JavaScript
    • object-oriented approach / Object-oriented approaches in Python, JavaScript, and C#
    • constructor functions, working with / Working with constructor functions in JavaScript
    • instances, creating / Creating instances in JavaScript
    • data, encapsulating / Encapsulating data in JavaScript
    • prototype-based inheritance, working with / Working with the prototype-based inheritance in JavaScript
    • object-oriented code, organizing / Organizing object-oriented code in JavaScript
    • existing code, refactoring / Refactoring existing code in JavaScript

M

  • Mammal abstract class
    • about / Understanding inheritance
  • Mammal class
    • about / Using classes to abstract behavior
  • method overloading
    • about / Understanding method overloading and overriding
  • methods / Recognizing actions from verbs – methods
  • multiple inheritance
    • in Python / Working with multiple inheritance in Python
    • base classes, declaring / Declaring base classes for multiple inheritance
    • classes, declaring / Declaring classes that override methods
    • class, declaring with multiple base classes / Declaring a class with multiple base classes
    • classes instances, working with / Working with instances of classes that use multiple inheritance
    • Abstract Base Classes, working with / Working with abstract base classes
    • in C# / Interfaces and multiple inheritance in C#
    • working with / Working with multiple inheritance
  • mutability
    • versus immutability / Understanding the difference between mutability and immutability

N

  • nouns
    • objects, recognizing from / Recognizing objects from nouns

O

  • object-oriented code
    • organizing / Thinking about the best ways to organize code
    • organizing, in Python / Organizing object-oriented code in Python
    • existing code, refactoring in Python / Refactoring existing code in Python
    • existing code, refactoring in C# / Refactoring existing code in C#
    • existing code, refactoring in JavaScript / Refactoring existing code in JavaScript
  • object-oriented code organizing, in C#
    • about / Organizing object-oriented code in C#
    • folders, working with / Working with folders
    • namespaces, using / Using namespaces
    • namespace hierarchies, working with / Working with namespace hierarchies in C#
  • object-oriented code organizing, in JavaScript
    • about / Organizing object-oriented code in JavaScript
    • objects, working with to organize code / Working with objects to organize code
    • constructor functions, declaring within objects / Declaring constructor functions within objects
    • nested objects, working with to organize code / Working with nested objects that organize code
  • object-oriented code organizing, in Python
    • source files, organized in folders / Working with source files organized in folders
    • modules, importing / Importing modules
    • module hierarchies, working with / Working with module hierarchies
  • object-oriented puzzle
    • pieces / Putting together all the pieces of the object-oriented puzzle
  • objects
    • recognizing, from nouns / Recognizing objects from nouns
    • blueprints, generating / Generating blueprints for objects
  • operator overloading
    • about / Understanding operator overloading
  • overriding
    • about / Understanding method overloading and overriding

P

  • parametric polymorphism
    • about / Understanding parametric polymorphism and duck typing
  • polymorphism
    • advantages / Taking advantage of polymorphism
  • properties
    • working with / Working with properties
  • prototype-based inheritance, in JavaScript
    • working with / Working with the prototype-based inheritance in JavaScript
    • objects, creating / Creating objects that specialize behavior in JavaScript
    • using / Using the prototype-based inheritance in JavaScript
    • methods, overriding / Overriding methods in JavaScript
    • operators, overloading / Overloading operators in JavaScript
    • polymorphism / Understanding polymorphism in JavaScript
  • prototype-based programming / Object-oriented approaches in Python, JavaScript, and C#
  • Python
    • object-oriented approach / Object-oriented approaches in Python, JavaScript, and C#
    • classes, declaring / Declaring classes in Python
    • constructors, customizing / Customizing constructors in Python
    • deconstructors, customizing / Customizing destructors in Python
    • classes, instances creating / Creating instances of classes in Python
    • data, encapsulating / Encapsulating data in Python
    • simple inheritance, working with / Working with simple inheritance in Python
    • multiple inheritance, working with / Working with multiple inheritance in Python
    • duck typing / Working with duck typing in Python
    • object-oriented code, organizing / Organizing object-oriented code in Python
    • existing code, refactoring / Refactoring existing code in Python

R

  • Rectangle class / Recognizing actions from verbs – methods
  • Require.js
    • URL / Organizing object-oriented code in JavaScript

S

  • ScottishFold constructor function
    • about / Adding properties to a constructor function
    • values for scores / Adding properties to a constructor function
  • set accessor / Working with auto-implemented properties
  • setters
    • about / Understanding the different members of a class
  • simple inheritance, in C#
    • working with / Working with simple inheritance in C#
    • classes, creating / Creating classes that specialize behavior in C#
    • using / Using simple inheritance in C#
    • methods, overloading / Overloading and overriding methods in C#
    • methods, overriding / Overloading and overriding methods in C#
    • operators, overloading / Overloading operators in C#
    • polymorphism / Understanding polymorphism in C#
  • simple inheritance, in Python
    • working with / Working with simple inheritance in Python
    • classes, creating / Creating classes that specialize behavior in Python
    • using / Using simple inheritance in Python
    • methods, overriding / Overriding methods in Python
    • operators, overloading / Overloading operators in Python
    • polymorphism / Understanding polymorphism in Python
  • SmoothFoxTerrier class
    • about / Adding fields to a class , Using classes to abstract behavior, Understanding inheritance
    • values for scores / Adding fields to a class
  • Square class / Recognizing actions from verbs – methods
  • static fields
    • about / Adding fields to a class

T

  • talk instance method
    • about / Understanding inheritance
  • TerrierDog class
    • about / Using classes to abstract behavior, Understanding inheritance
  • TibetanSpaniel class
    • about / Adding attributes to a class