Starting Software Development A Beginning
You Learn Software Development By Doing Software development
Starting Software Development What you will learn How to develop simple Object Oriented programs. How to create Objects to perform simple tasks. How to compile and run programs that use Objects. A simple understanding of the Java programming language. How to read a class diagram. A basic vocabulary of Software Development
Software Development Is Building Models
A Model is not The real thing Lorry Registration: F Make : Ford Axle Weight : 25 tonnes Driver : Fred public class Lorry{ String registration; String make; double axleWeight; String driver; } Lorry theLorry = new Lorry("F ","Ford",25.0,"Fred");
These are called attributes State Behaviour An object has state and behaviour Registration Make Axle Weight Driver Destination Load Depart Unload Load fuel Is In Transit Is Heading For... These are called methods These are called Values F Ford 25 tonnes Fred Birmingham
Lorry Registration: F Make : Ford Axle Weight : 25 tonnes Driver : Fred Status : LOADING Destination : BIRMINHAM DEPOT Left at : 8.35 Due at : Software Models the Real world
3 objects Suit Face Value
behaviour Draw Turn Stack SuitIs ColourIs IsPictureCard
An object is an instance of a class that has state and behaviour
public class SimpleCounter extends Object{ private int count; } // End class simplecounter count count = 5; 5 6 count++; count = count + 2; 8
public class SimpleCounter extends Object{ private int count; // the constructor public SimpleCounter (int startValue){ count = startValue; } // End SimpleCounter() // a simple action public void click (){ count++; } // End click() // a 'getter' public int getValue(){ return count; } // End getValue() } // End class simplecounter
Modifying a class Adding a new method
public class SimpleCounter extends Object{ private int count; // the constructor public SimpleCounter (int startValue){ count = startValue; } // End SimpleCounter() // a simple action public void click (){ count++; } // End click() // a 'getter' public int getValue(){ return count; } // End getValue() } // End class simplecounter // a new action public void add2(){ count++; } // End click()
SimpleCounter myCount = new SimpleCounter(21); 21 myCount count 22 myCount count myCount.click() anotherCount count 5 SimpleCounter anotherCount = new SimpleCounter(5)
public void click(){ count++; } 21 count public class SimpleCounterDemonstration extends Object{ public static void main (String[] args){ SimpleCounter myCount = new SimpleCounter(21); System.out.print( "First value : "); System.out.println( myCount.getValue()); myCount.click(); System.out.print( "Second value : "); System.out.println( myCount.getValue()); myCount.click(); System.out.print( "Third value : "); System.out.println( myCount.getValue()); } // End of main } // end of class SimpleCounterDemonstration myCount First Value : Second Value : Third Value :24 public int getValue(){ return count; }
21 count public class SimpleCounterDemonstration extends Object{ public static void main (String[] args){ SimpleCounter myCount = new SimpleCounter(21); SimpleCounter count2 = new SimpleCounter(5); System.out.println( "First value : " + myCount.getValue()); System.out.println( "Second value : " + count2.getValue()); myCount.click(); count2.click(); System.out.println( "Third value : " + myCount.getValue()); System.out.println( "Fourth value : " + count2.getValue()); myCount.click(); System.out.println( "Fifth value : " + myCount.getValue()); System.out.println( "Sixth value : " + count2.getValue()); } // End of main } // end of class SimpleCounterDemonstration myCount First value : 21 Second value :5 Third value :22 Fourth value :6 Fifth value :24 Sixth value : 6 count 5 count2 6
An object is an instance of a class that has state and behaviour
public class SimpleCounter extends Object{ private int count; // the constructor public SimpleCounter (int startValue){ count = startValue; } // End SimpleCounter() // a simple action public void click (){ count++; } // End click() // a 'getter' public int getValue(){ return count; } // End getValue() } // End class simplecounter A Reminder
public class SillyCounter extends SimpleCounter{ public SillyCounter (int theCount){ super(theCount); } public void click3(){ super.click(); } // End click3() } // End SillyCounter SillyCounter silly = new SillyCounter(3); SimpleCounter myCount = new SimpleCounter(4); silly.click(); myCount.click(); silly.click3(); myCount.click3(); Modifying a class Extending