Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
77 KB
Nội dung
Classes and Objects in Java Object-oriented programming Classes and objects in Java 2 Đại học Công nghệ. ĐHQG Hà Nội Outline Classes Working with objects Attributes, methods, and access control Constructors Readings: Java how to program, chapter 3, 8 Classes and objects in Java 3 Đại học Công nghệ. ĐHQG Hà Nội Java program A Java program is a collection of objects Each class is specified in one source file (file name is the same with class name) Every line of code you write in Java must be inside a class (not counting import directives) Increase modularity Easier to modified code, shorter compile time 3 Classes and objects in Java 4 Đại học Công nghệ. ĐHQG Hà Nội // GradeBook.java public class GradeBook { // display a welcome message to the GradeBook user public void displayMessage() { System.out.println( "Welcome to the Grade Book!" ); } } // end class GradeBook // GradeBookTest.java public class GradeBookTest { // main method begins program execution public static void main( String args[] ) { // create a GradeBook object and assign it to myGradeBook GradeBook myGradeBook = new GradeBook(); // call myGradeBook's displayMessage method myGradeBook.displayMessage(); } } // end class GradeBookTest Welcome to the Grade Book! class declared as public must be stored in a file with the same name class declaration begins / ends main() is called automatically by the Java Virtual Machine when the program is executed 02 classes in 02 files creates an instant / object of the class myGradeBook is the reference to it Classes and objects in Java 5 Đại học Công nghệ. ĐHQG Hà Nội 5 Objects Objects are manipulated via references Object references play the roles similar to pointers Objects must be explicitly created by new operator 5 public class GradeBookTest { // main method begins program execution public static void main( String args[] ) { // create a GradeBook object and assign it to myGradeBook GradeBook myGradeBook = new GradeBook(); // call myGradeBook's displayMessage method myGradeBook.displayMessage(); } } // end class GradeBookTest Classes and objects in Java 6 Đại học Công nghệ. ĐHQG Hà Nội Objects and Object references myGradeBook GradeBook Heap memory // create a GradeBook object and assign it to myGradeBook GradeBook myGradeBook = new GradeBook(); The object reference the object created by new GradeBook() Classes and objects in Java 7 Đại học Công nghệ. ĐHQG Hà Nội Attributes, methods, and access control Access modifiers: Public Accessible anywhere by anyone Protected Accessible only to the class itself and to its subclasses or other classes in the same “package” Private Only accessible within this class Classes and objects in Java 8 Đại học Công nghệ. ĐHQG Hà Nội // GradeBook.java public class GradeBook { private String courseName; // course name for this GradeBook // method to set the course name public void setCourseName( String name ) { courseName = name; // store the course name } // method to retrieve the course name public String getCourseName() { return courseName; } // display a welcome message to the GradeBook user public void displayMessage() { System.out.println( "Welcome to the Grade Book!" ); } } // end class GradeBook attribute. Each Gradeb ook object has its own instant variable named courseName private: accessed by the class’s methods only access modifiers GradeBook - courseName : String + setCourseName( name : String ) + getCourseName() : String + displayMessage() methods Classes and objects in Java 9 Đại học Công nghệ. ĐHQG Hà Nội Overloading methods Methods can have the same name but different argument lists. class MyDate { … public boolean setMonth(int m) { …} public boolean setMonth(String s) { …} } … d.setMonth(9); d.setMonth(”September”); Classes and objects in Java 10 Đại học Công nghệ. ĐHQG Hà Nội Constructors Every class has a default “method” called a Constructor Invoked when the object is to be “created” / “allocated” by using “new” Main purposes: Initialise object’s attributes / data members A class may have multiple constructors Distinguished at compile time by having different arguments The default constructor takes no arguments and is implicit when no other constructors are specified [...]... học Công nghệ ĐHQG Hà Nội Classes and objects in Java 12 Encapsulation / information hiding “Don’t expose internal data structures!” Objects hold data and code Neither is exposed to the end user Objects expose an interface Anthropomorphic nature of objects Think of objects and people who have specialized roles! Lawyer, Mechanic, Doctor Complexity is hidden inside the object Make life... System.out.println( "Welcome to the Grade Book!" ); … } } // end class GradeBook Đại học Công nghệ ĐHQG Hà Nội Classes and objects in Java 11 Implementation vs Interface GradeBookTest: a “client” of GradeBook Implementation Data structures and code that implement the features (variables and methods) Usually more involved and may have complex inner workings Clients don’t need to know Interface...GradeBook - courseName : String // GradeBook.java «constructor» GradeBook( name: public class GradeBook String ) { + setCourseName( name: String ) private String courseName; // course name for this GradeBook + getCourseName() : String // constructor initializes courseName + displayMessage() public GradeBook( String name ) { courseName = name; // initializes courseName 12 } // method to... setCourseName( String name ) { courseName = name; // store the course name } // method to retrieve the course name public String getCourseName() { return courseName; // GradeBookTest.java } … // display a welcome message to the GradeBook user // create a GradeBook object and assign it to myGradeBook public void displayMessage() GradeBook myGradeBook = { new GradeBook( "CS101 Introduction to Java Programming );... Lawyer, Mechanic, Doctor Complexity is hidden inside the object Make life easier for clients More modular approach Implementation changes in one component doesn’t affect others Less error-prone Đại học Công nghệ ĐHQG Hà Nội Classes and objects in Java 13 . Classes and Objects in Java Object-oriented programming Classes and objects in Java 2 Đại học Công nghệ. ĐHQG Hà Nội Outline Classes Working with objects Attributes, methods, and. control Constructors Readings: Java how to program, chapter 3, 8 Classes and objects in Java 3 Đại học Công nghệ. ĐHQG Hà Nội Java program A Java program is a collection of objects Each class is specified in. name) Every line of code you write in Java must be inside a class (not counting import directives) Increase modularity Easier to modified code, shorter compile time 3 Classes and objects in Java 4 Đại