Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {!...
Transcript of Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {!...
![Page 1: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/1.jpg)
Java, Classes, and Objects
D. Thiebaut CSC212 — Fall 2014
THANKS FOR THE !
MATERIAL, EITAN!
![Page 2: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/2.jpg)
Classes vs. ObjectsBLUEPRINT
+—————+| | | 0 | | |
+—————+
ClassObject
Object
![Page 3: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/3.jpg)
Review of Python Classes
(see Lab 1, Part 1)
![Page 4: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/4.jpg)
class Person {!! String name, Id;!! int age;!!! Person( String n, int a, String i ) {!! ! name = n; age = a; Id = i;!! }!! !! public void display( ) {!! ! System.out.println( name + “: “ + age + “ years old” );!! }!!! public static void main( String[] args ) {!! ! Person p1 = new Person( “Sophia”, 29, “990111222” );!! ! p1.display();!! ! Person p2 = new Person( “Max”, 10, “990101010” );!! ! p2.display();!! }!}
Example
Sophia: 29 years oldMax: 10 years old
![Page 5: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/5.jpg)
Important Concepts
• constructor
• method
• new
• overloading (see next slide!)
![Page 6: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/6.jpg)
class Person {!! String name, Id;!! int age;!!! Person( String n, int a, String i ) {!! ! name = n; age = a; Id = i;!! }!! Person( ) {!! ! name = "Unknown"; age = 0; Id = "NA";!! }!! public void display( ) {!! ! System.out.println( name + ": " + age + " years old" );!! }!! public static void main( String[] args ) {!! ! Person p1 = new Person( "Sophia", 29, "990111222");!! ! p1.display();!! ! Person p2 = new Person( );!! ! p2.display();!! }!}
Overloading
Sophia: 29 years oldUnknown: 0 years old
![Page 7: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/7.jpg)
class Person {!! // stuff removed!!! public void display( ) {!! ! System.out.println( name + ": " + age + " years old" );!! }!! public void display( String caption ) {!! ! System.out.print( caption + "\n==>" );!! ! display();!! }!! public static void main( String[] args ) {!! ! Person p1 = new Person( "Sophia", 29, "990111222");!! ! p1.display( "p1" );!! ! Person p2 = new Person( );!! ! p2.display( "p2" );!! }!}
Overloading (2)
p1==>Sophia: 29 years oldp2==>Unknown: 0 years old
![Page 8: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/8.jpg)
Arrays0 1 2 3 4 5
"Ice Cream" "Sweet" "Nutella"
"Chocolate" "Mousse"
""
String[] food = new String[6];!food[0] = "Ice Cream";!for (int i=1; i<6; i++ )! food[i] = "";
food
String[] food = { "Ice Cream",!! ! ! ! ! ! "Sweet", "Nutella",!! ! ! ! ! ! "Chocolate", "Mousse",!
! ! ! ! ! ! "" };
or
![Page 9: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/9.jpg)
The size of!an array is!FIXED!!!
![Page 10: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/10.jpg)
If your program accesses a cell outside the array…
!java.lang.ArrayIndexOutOfBoundsException: 6
at Person.main(Person.java:25)
CRASH!
![Page 11: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/11.jpg)
If your program accesses a cell outside the array…
!java.lang.ArrayIndexOutOfBoundsException: 6
at Person.main(Person.java:25)
Exception…
Index…
Code line…
![Page 12: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/12.jpg)
Examples
• A class for a student: creates an array of 5 students (link)
![Page 13: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/13.jpg)
Class Inheritance
![Page 14: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/14.jpg)
Class Inheritance!!class BigClass {
xxxxxxx x xxx xxxxxx xxxxxxxxxx xxxxxxxxx xxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxx xxxxxxx !xxxxx xxxxxxxxxxxxxxxxx xxxxxxx !xxxxxx xxxxx xxxxxxxxxxxxxxxxx xxxxxxx xxxxx !xxxxxxxxxxxxxxxxx xxxxxxx !xxxxx xxxxxxxxxxxxxxxxx xxxxxxx
} !!!!class NewClass extends BigClass { !
xxxxx !xxxxxxxxxxxxxxxxx xxxxxxx
} !!
Super Class
Derived Class
Inheritance
![Page 15: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/15.jpg)
Class Inheritance!!class NewClass extends BigClass { !
xxxxx !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!xxxxxxxxxxxxxxxxx xxxxxxx
}
!!//class BigClass {
xxxxxxx x xxx xxxxxx xxxxxxxxxx xxxxxxxxx xxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxx xxxxxxx !xxxxx xxxxxxxxxxxxxxxxx xxxxxxx !xxxxxx xxxxx xxxxxxxxxxxxxxxxx xxxxxxx xxxxx !xxxxxxxxxxxxxxxxx xxxxxxx !xxxxx xxxxxxxxxxxxxxxxx xxxxxxx
// } !!
![Page 16: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/16.jpg)
Examples
• A class for an Animal (super class)
• A class for a Bird (inherited from Animal)
• A class for a Dog (inherited from Animal)
![Page 17: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/17.jpg)
Animal!name age isVaccinated isTattooed Animal() displayBasicInfo()
Dog<—Animal!name age isVaccinated isTattooed legs[] Animal() setLegs() displayBasicInfo()Bird<—Animal!
name age isVaccinated isTattooed wingSpan Animal() displayBasicInfo()
![Page 18: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/18.jpg)
Java Code for Examples
(link)
![Page 19: Java, Classes, and Objectsclass Person {!! // stuff removed!! public void display( ) {! System.out.println( name + ": " + age + " years old" );!! public void display( String caption](https://reader035.fdocuments.in/reader035/viewer/2022062605/5fdbe38ae596314eea49a699/html5/thumbnails/19.jpg)