Object Oriented Programming
OOP = programming paradigm. some defns:
- class = blueprint in code (e.g. a bicycle class might have a "speed" variable and a speedUp() method)
- object = instance of a class (e.g. Ronnie's bike)
- abstraction = means hiding what isnt important when working with classes / OOP
- encapsulation = techniques to bundle and hide methods and properties within classes (e.g. using public and private keywords). this is one way to enable abstraction
- inheritance = when new objects to take on the properties of existing objects (e.g. a circle object inherits the properties of a shape object)
- polymorphism = ability for an object to take on many forms (e.g. a method draw() could be used with triangles, stars and boxes)
Player class
a player has a username. if a username isnt supplied when creating an instance of this class, the username is set to "unknown" by the constructor when the object is first created://save as Player.java public class Player { //----variables: public String username; //----constructors (so no return type): public Player(){ username = "unknown"; } public Player(String nameSupplied) { username = nameSupplied; } //----methods: public void greet() { System.out.println("hello " + username); } }our program executes from the main procedure:
//save as mainGame.java public class mainGame { public static void main(String[] args) { Player robert = new Player("3l1t3_5n1p3r"); robert.greet(); Player sally = new Player(); sally.greet(); sally.username = "xX_memelord_Xx"; sally.greet(); } }