Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 3 Classes and Methods. 2 Knowledge Goals Appreciate the difference between a class in the abstract sense and a class as a Java construct Know.

Similar presentations


Presentation on theme: "Chapter 3 Classes and Methods. 2 Knowledge Goals Appreciate the difference between a class in the abstract sense and a class as a Java construct Know."— Presentation transcript:

1 Chapter 3 Classes and Methods

2 2 Knowledge Goals Appreciate the difference between a class in the abstract sense and a class as a Java construct Know what attributes are Know what responsibilities are Know how assignment of an object reference differs from assignment of a standard type

3 3 Knowledge Goals Appreciate how aliases can lead to errors Know what garbage collection is Understand the distinction between instance methods and class methods Know what a constructor does Appreciate the difference between void and value-returning methods Understand what immutability is

4 4 Skill Goals Determine the attributes and responsibilities of a class Write the heading for a new class Write the class declaration for a new class Write an instance method Write a class method Write a constructor

5 5 Skill Goals Write a helper method Write a value-returning method Assemble class declarations into a working class

6 6 New Classes of Objects A new class is just like an application except that it doesn't have a main method

7 7 New Classes of Objects Can you name some attributes for the cat class ?

8 8 New Classes of Objects Instance values A value that is associated with a specific object Class value A value that is associated with a class and is the same for every object of the class Attributes The values defined by a class that are used to represent its objects; the combination of instance and class values Were any cat attributes class values?

9 9 New Classes of Objects See the difference between class and instance values?

10 10 New Classes of Objects A class and three instantiated objects

11 11 New Classes of Objects With each new class comes responsibilities… Responsibilities The operations that are provided by a class of objects Class responsibility An operation performed with respect to a class of objects Instance responsibility An operation performed with respect to a specific object

12 12 New Classes of Objects Method A Java subprogram Class method A method that implements a class responsibility Instance method A method that implements an instance responsibility

13 13 New Classes of Objects Constructor An operation (responsibility) that creates a new instance of a class Constructor (in Java) A method with the same name as the class, which is neither a void or a value-returning method How many kinds of attributes and responsibilities are there?

14 14 New Classes and Objects Every class must have a constructor; if you don't define one, Java supplies one

15 15 Overview of Java Data Types

16 16 Overview of Java Data Types Primitive values require a fixed number of bytes; object values can be any size, so…

17 17 Overview of Java Data Types A variable of a primitive type contains the value of the variable A variable of an object type contains the address of where the value (object) begins

18 18 Overview of Java Data Types

19 19 Overview of Java Data Types letter char letter; String title; String book; letter = ‘J’; title = “Problem Solving”; book = title; Example Walkthrough

20 20 Overview of Java Data Types letter title char letter; String title; String book; letter = ‘J’; title = “Problem Solving”; book = title; Example Walkthrough

21 21 Overview of Java Data Types letter title book char letter; String title; String book; letter = ‘J’; title = “Problem Solving”; book = title; Example Walkthrough

22 22 Overview of Java Data Types letter title book char letter; String title; String book; letter = ‘J’; title = “Problem Solving”; book = title; ‘J’ Example Walkthrough

23 23 Overview of Java Data Types letter title book char letter; String title; String book; letter = ‘J’; title = “Problem Solving”; book = title; 2003 “Problem Solving” Memory Location 2003 ‘J’ Example Walkthrough

24 24 Overview of Java Data Types letter title book char letter; String title; String book; letter = ‘J’; title = “Problem Solving”; book = title; 2003 “Problem Solving” Memory Location 2003 2003 ‘J’ Example Walkthrough

25 25 Overview of Java Data Types letter title book char letter; String title; String book; letter = ‘J’; title = “Problem Solving”; book = title; 2003 “Problem Solving” Memory Location 2003 2003 ‘J’ Walkthrough Complete

26 26 Overview of Java Data Types Alias When multiple variables refer to the same object, acting as synonyms

27 27 Overview of Java Data Types Address 000011010101 is unreachable

28 28 Recycling Discarded Objects Garbage Objects that are unreachable Garbage collection Recycling of memory when objects are no longer needed Explicit memory management Recycling of object memory that must be manually coded Memory leak Failure to recycle memory when explicit memory management is being used Java has automatic garbage collection

29 29 Responsibilities as Methods Heading Body Parameter list contains information the method must have in order to execute; this information is given at the call

30 30 Responsibilities as Methods Arguments substituted for parameters at time of call

31 31 Responsibilities as Methods

32 32 Responsibilities as Methods Class variable Instance variables How does Java distinguish them?

33 33 Responsibilities as methods Review void methods Called as a statement value-returning methods Called in an expression; return a value

34 34 Responsibilities as methods Constructor An operation (method) that creates a new instance of a class  Same name as class  Default constructor (no parameters)  Parameterized constructor (with parameters)  A class can have more than one constructor  Is almost always public (Why?)

35 35 Responsibilities as methods Observer An operation that returns information from an object without changing the content of the object Immutability The property of a class that its instances cannot be modified once they are created Constructor-Observer classes Classes that have only constructors and observers and are therefore immutable (all we've seen so far)

36 36 Cat Class public class Cat { String name; String color; float weight; // constructors public Cat() { name = " "; color = " "; weight = 0.0; }

37 37 Cat Class public Cat(String newName, String newColor, float newWeight) { name = newName; weight = newWeight; colr = newColor; } public String getName() { return name; } Methods that return the value of a variable are often "get" + identifier. (Why?)

38 38 Cat Class public float getWeight() { return weight; } public String getColor() { return color; } Is class Cat immutable?

39 39 Driver for Cat Class public class CatDriver { public static void main (String[] args) { Cat myCat = new Cat("Meow", "ginger", 10.5); Cat cat = new Cat(); System.out.print("myCat "); System.out.println(myCat.getName() + " " + myCat.getColor() + " " + myCat.getWeight()); System.out.print("cat "); System.out.println(cat.getName() + " " + cat.getColor() + " " + cat.getWeight()); }

40 40 Extras I am called the first programmer Can you remember my name? My father's name?


Download ppt "Chapter 3 Classes and Methods. 2 Knowledge Goals Appreciate the difference between a class in the abstract sense and a class as a Java construct Know."

Similar presentations


Ads by Google