Difference between revisions of "OOP Reassigned"

esse quam videri
Jump to: navigation, search
(Strategy Pattern)
Line 1: Line 1:
[[Category:Object Oriented Programming]]
+
[[Category:IAM Classes]][[Category:Object Oriented Programming]]
 +
[[Category:Programming Language Concepts]]
 +
[[Category:C Sharp]]
  
 
Duck Study
 
Duck Study

Revision as of 19:39, 7 June 2019


Duck Study

Problems with inheritance

The super class Duck has a swim method.

Duck.swim()

Any class that subclasses the duck class will inherit the swim() method. So far so good all ducks swim

The super class also has a fly() method sa all classes that inherit from duck will get the fly() method.

All ducks don't fly...

Controls is an example of good inhertance

http://iam.colum.edu/oop/classsource/class11/controls.aspx

see

 Hierarchy

Object ---> Control---> WebControl---> BaseDataBoundControl ---> DataBoundControl --->ListControl ---> DropDownList

Interfaces

Implements A

Interfaces are a alternative to inheritance that creates a polymorphic contract between classes. The classes the implements an interface all have the same properties and methods and can be used interchangeably.

Interfaces are often used to implement behaviors.

  • IRaceable
  • IWalkable
  • IDisposable
  • IPhone

Strategy Pattern

http://www.dofactory.com/Patterns/PatternStrategy.aspx

Strategy Pattern

Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.

Ducks From Book

http://iam.colum.edu/oop/browser/browser.aspx?f=/classsource/class11/Duck

http://www.dofactory.com/Patterns/PatternStrategy.aspx

Pretty good example of the strategey method in action.

Characters

Homework

Create Characters class and weapons class that uses the strategy pattern