Presentation is loading. Please wait.

Presentation is loading. Please wait.

Page 4.1 – Autumn 2010Steffen Vissing Andersen SDJ I1, Autumn 2010 Agenda – Session 4 – 7. September 2009 Java fundamentals, checkpoint from chapter 2.

Similar presentations


Presentation on theme: "Page 4.1 – Autumn 2010Steffen Vissing Andersen SDJ I1, Autumn 2010 Agenda – Session 4 – 7. September 2009 Java fundamentals, checkpoint from chapter 2."— Presentation transcript:

1 Page 4.1 – Autumn 2010Steffen Vissing Andersen SDJ I1, Autumn 2010 Agenda – Session 4 – 7. September 2009 Java fundamentals, checkpoint from chapter 2 Classes and Objects

2 Page 4.2 – Autumn 2010Steffen Vissing Andersen Checkpoints from Chapter 2 Checkpoints 2.1-2.3, 2.5-2.6 p. 36 2.10-2.11 p. 48-49 2.12-2.18, 2.20-2.22 p. 59 2.22-2.23 p.65 2.24 p. 67 2.26 p. 71 Review Questions page 105 Question 1-12, 15-21

3 Page 4.3 – Autumn 2010Steffen Vissing Andersen Strings String is an Object Data Type (a Class) The Class String is defined in package java.lang Strings can be concatenated just by adding them public class TestStrings { public static void main(String[] args) { String name1 = "Bob" String name2 = "Pete"; System.out.println("Hello " + name1 + " and " + name2); }

4 Page 4.4 – Autumn 2010Steffen Vissing Andersen import java.util.Scanner; public class StringTest { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter name of city: "); String city = input.nextLine(); System.out.println(“Number of letters: " + city.length()); System.out.println("Uppercase: " + city.toUpperCase()); System.out.println("Lowercase: " + city.toLowerCase()); System.out.println("First character: " + city.charAt(0)); } Using Strings – an example

5 Page 4.5 – Autumn 2010Steffen Vissing Andersen UML Class Diagram

6 Page 4.6 – Autumn 2010Steffen Vissing Andersen UML Class Diagram

7 Page 4.7 – Autumn 2010Steffen Vissing Andersen public class Message { private String message; public Message(String message) { this.message = message; } public String getMessage() { return message; } Message class

8 Page 4.8 – Autumn 2010Steffen Vissing Andersen Message class – UML Class Diagram

9 Page 4.9 – Autumn 2010Steffen Vissing Andersen public class MessageTest { public static void main(String[] args) { Message oneMessage = new Message("Hello world!"); System.out.println(oneMessage.getMessage()); } Using the Message class

10 Page 4.10 – Autumn 2010Steffen Vissing Andersen Object Oriented Concepts Objects Attributes Behaviour Object Oriented Analysis and Design - OOAD What? – Analysis of Requirements How? – Design Object Oriented Programming - OOP Implementation (Writing Code) Testing

11 Page 4.11 – Autumn 2010Steffen Vissing Andersen Characteristics of Objects Objects in Real Life Can perform certain Actions Actions can have effect on other Objects in the World Have a certain State at a certain Time Objects in an OO-Programming Language Can perform Actions (has Operations/Methods) Can perform Actions on other Objects (Collaboration) Have a certain State at a certain Time (Values stored in Attributes/Fields)

12 Page 4.12 – Autumn 2010Steffen Vissing Andersen Class The general Description of all Objects of a given Type (Example: “Car”, “Person”, “House”, “Ball”, …) The Template for all Objects of the same Class Object Represent ‘things’ from the real World (Example: “the red Car in the Car Park”, “the Person to your right” Classes and Objects –color : String Car – name : String Person color : String = "red" myCar : Car name : String = "Peter" peter : Person +getColor() : String +getName() : String

13 Page 4.13 – Autumn 2010Steffen Vissing Andersen Some Observations of Objects Encapsulation The Data in an Object are hidden for the outside world and can only be accessed inside the Object The Data in an Object is accessed through the Objects Methods/Operations Abstraction The Details about functionality are hidden in the Object (Class) itself

14 Page 4.14 – Autumn 2010Steffen Vissing Andersen UML versus Java UML Java public class Person { // fields private String name; private String address; private int ssn; private int age; // methods void eat() { } void walk(int speed) { } AttributesFields OperationsMethods Parameters Arguments Data Type +walk(speed : int) +eat() -name : String -address : String -ssn : int -age : int Person

15 Page 4.15 – Autumn 2010Steffen Vissing Andersen Class Rectangle (1/3) public class Rectangle { private double length; private double width; public Rectangle(double len, double w) { length = len; width = w; } public void setLength(double len) { length = len; } -Same Name as Class Name -No return type Constructor

16 Page 4.16 – Autumn 2010Steffen Vissing Andersen Class Rectangle (2/3) public void setWidth(double w) { width = w; } public void set(double len, double w) { length = len; width = w; } public double getLength() { return length; }

17 Page 4.17 – Autumn 2010Steffen Vissing Andersen Class Rectangle (3/3) public double getWidth() { return width; } public double getArea() { return length * width; } } // end of class Rectangle

18 Page 4.18 – Autumn 2010Steffen Vissing Andersen Rectangle – UML Class diagram

19 Page 4.19 – Autumn 2010Steffen Vissing Andersen RectangleDemo public class RectangleDemo { public static void main(String[] args) { Rectangle box = new Rectangle(10.0, 20.0); System.out.println("The length is " + box.getLength()); System.out.println("The width is " + box.getWidth()); System.out.println("The area is " + box.getArea()); }

20 Page 4.20 – Autumn 2010Steffen Vissing Andersen RectangleDemo Class Diagram Object Diagram Rectangle box = new Rectangle(10.0, 20.0);

21 Page 4.21 – Autumn 2010Steffen Vissing Andersen Constructors – Creating Objects Default constructor – a no-argument constructor Ex.: Rectangle rect1 = new Rectangle(); Constructors with arguments Ex.: Rectangle rect2 = new Rectangle(10.0); Ex.: Rectangle rect3 = new Rectangle(10.0, 20.0); Implementing Constructors If no Constructors are explicitly defined by the programmer (you) then a default constructor is provided by the compiler


Download ppt "Page 4.1 – Autumn 2010Steffen Vissing Andersen SDJ I1, Autumn 2010 Agenda – Session 4 – 7. September 2009 Java fundamentals, checkpoint from chapter 2."

Similar presentations


Ads by Google