1 / 20

COMP 14 Introduction to Programming

COMP 14 Introduction to Programming. Miguel A. Otaduy May 28, 2004. Today. Defining classes, using objects public, private, static Assignment operator and objects jGRASP projects, multiple files, Java archives. Multiple Classes. So far, we have added methods to the main class

abdalla
Download Presentation

COMP 14 Introduction to Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. COMP 14Introduction to Programming Miguel A. Otaduy May 28, 2004

  2. Today • Defining classes, using objects • public, private, static • Assignment operator and objects • jGRASP projects, multiple files, Java archives

  3. Multiple Classes • So far, we have added methods to the main class • Classes extend the concept of data types: data + operations • Define new classes and instantiate objects

  4. Multiple Classes • Concept: Basketball team • players (objects of class Player) • coach (object of class Coach) • games • … • Define each class in one file, and instantiate objects in other classes or in the main method

  5. Basketball.java • Create main class: Basketball • Define Player class • player name • year • + operations

  6. Multiple files • Good style: 1 class per file • Store all files in 1 directory • Create jGRASP project (.gpj)

  7. BasketballProject.gpj • Example of project creation

  8. Multiple Objects • A class has 1 single definition • We can instantiate multiple objects of 1 class • Each object keeps its own copy of the data members • Objects are accessed using reference variables • To perform operations on objects: referenceVariable.method (parameter1, parameter2, …)

  9. Basketball.java • Instantiate multiple Player objects • Call methods of the Player objects from Basketball.main() • Demonstrate flow through different methods with the debugger

  10. Visibility Modifiersprivate and public • Public • For members that should be accessible outside the class (i.e. from other classes or the main method) • Usually employed with methods • Private • For members that should not be accessed outside the class • Usually employed with data members • Also for methods that are only used internally • Typically, data members are declared as private, so we need methods to set and get data values

  11. Player.java • Make data members private • Make methods public • Demonstrate accessibility from Basketball.main()

  12. Assignment Operator • Assignment expressions that involve reference variables do not copy object data!! • In order to copy object data, we need additional methods Player player1 = new Player(“Felton”); Player player2 = new Player(); player2 = player1; //player2 points to the same obj. public void Player.copy(Player otherPlayer)

  13. Player.java • Write Player.copy()

  14. Visibility Modifiersstatic • static data members • Data related to a class that does not need to be defined for each object public class Player { static final int FRESHMAN = 1; static final int SOPHOMORE = 2; private int year; … }

  15. Visibility Modifiersstatic • static methods • Operations that do not use object-dependent data • They can only use static data members!! (besides local variables) public static int factorial(int x) { … } static BufferedReader keyboard = … public static void main(…) { String str=keyboard.readLine(); … }

  16. Visibility Modifiersstatic • To access static data members and methods from outside the class: • To access non-static data members and methods from outside the class: • In general, from inside the class, no need to write class name or reference variable. double res = Math.pow(2.0, 3.0); //ClassName.method(); player1.printInfo(); //referenceVariable.method();

  17. Player.java • Add static data members and methods

  18. The toString Method • Special method in Java classes • Produces a String object based on the current object, suitable for printing • Mapped to the '+' operator (concatenation) • Also called when the object is a parameter in a print() or println() method • There is a default toString method, but it's better if we write our own

  19. Player.java • Write Player.toString()

  20. To do • Homework 5 (due Wednesday night) • Don’t wait till Tuesday!! • Homework 6 is going to be rather long • Read ch. 9

More Related