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
- Chrome Developer Tools (CDT) / Understanding that functions are objects in JavaScript
- Circle class / Recognizing actions from verbs – methods
- 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
- DomesticMammal abstract class
- about / Understanding inheritance
- DomesticMammal class
- 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
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
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
- method overloading
- 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
- objects
- recognizing, from nouns / Recognizing objects from nouns
- blueprints, generating / Generating blueprints for objects
- operator overloading
- overriding
P
- parametric polymorphism
- 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
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
- 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
- TibetanSpaniel class
- about / Adding attributes to a class