Presentation is loading. Please wait.

Presentation is loading. Please wait.

Classes, Types and Objects Data Structures Chapter 1 Prof. Vidya Manian Dept. of Electrical and Comptuer Engineering ICOM 4035Java Programming BasicsECE,

Similar presentations


Presentation on theme: "Classes, Types and Objects Data Structures Chapter 1 Prof. Vidya Manian Dept. of Electrical and Comptuer Engineering ICOM 4035Java Programming BasicsECE,"— Presentation transcript:

1 Classes, Types and Objects Data Structures Chapter 1 Prof. Vidya Manian Dept. of Electrical and Comptuer Engineering ICOM 4035Java Programming BasicsECE, UPRM

2 Overview Objects, classes expressions Control flow Arrays ICOM 4035ECE, UPRM2

3 Objects Objects –store data and provide methods for accessing and modifying data An object is an instance (member) of a class Class – specifies type of objects, operations that it performs Data of objects are stored as instance variables (fields) (of types e.g. integers, floating point numbers, Booleans) ICOM 4035ECE, UPRM3

4 Operations Methods :constructors, procedures, and functions Example: class declaration ICOM 4035ECE, UPRM4

5 Counter class is public-other class can create and use a counter object Instance variable –count Constructor method initializes it to 0 Accessor method, get Count Update methods, incrementCount, decrementCount ICOM 4035ECE, UPRM5

6 Class modifiers Abstract-empty methods with abstract keyword Final – cannot have subclasses Public – can be instantiated by anything that imports the class Base types (primitve types (boolean, char, byte, short, int, long, float, double) Int x, x=14 or x=195 Float, y=3.1415 ICOM 4035ECE, UPRM6

7 Example of base types ICOM 4035ECE, UPRM7

8 Comments: /** **/ or // ‘new’ creates a new object and returns reference to that object ICOM 4035ECE, UPRM8

9 new operator A new object is dynamically allocated in memory, initialized to default values ‘null’ Constructor is called The new operator returns a reference (a memory address) to the newly created object ICOM 4035ECE, UPRM9

10 Number classes Byten.byteValue() Shortn.shortValue() Integern.intValue() Longn.longValue() Floatn.floatValue() Doublen.doubleValue() ICOM 4035ECE, UPRM10

11 String objects String is a sequence of characters that comes form some alphabet (set of possible characters) P = “barney the bear” Length 15 Concatenation String s = “kilo” + “meters” ICOM 4035ECE, UPRM11

12 Object reference Reference variable is a pointer to some object ICOM 4035ECE, UPRM12

13 Dot operator Can have many references to the same object Dot operator”.”-access methods and instance variables associated with an object Examples of signatures (methods name with parameters) oven.cookDinner(); oven.cookDinner(food); oven.cookDinner(food,seasoning); Note: Java doesn not allow 2 methods with the same signature to return different types ICOM 4035ECE, UPRM13

14 Instance Variables Instance variables must have a type (int, float, double) or a reference type : class such as String, an array A referrence variable v, points to object o, we can access any of the instance variables fo o that the access rules allow Public instance variables are accessible by everyone Dot operator can get and set the value of any instance variable (v.i) ICOM 4035ECE, UPRM14

15 gnome.name =“professor smith”; gnome.age=35; gnome –reference to a Gnome object, with public instance variables name and age Variable modifiers Public: anyone can access Protected: only methods of the same package or of its subclasses can access protected instance variables Private: only methods of the same class can access it ICOM 4035ECE, UPRM15

16 Static: variables are used to store “global” information about a class Final: a final instance variable is one that must be assigned an initial value, and can never be assigned a new value after that (MAX_HEIGHT) ICOM 4035ECE, UPRM16

17 ICOM 4035ECE, UPRM17

18 What are the base types ? What is variable gnomeBuddy ? What is variable name ? Note: Constant values associated with a class should be declared to be both static and final ICOM 4035ECE, UPRM18

19 Enum Types Take on values from a specified set of names Modifier enum name {value_name0, value_name1,….}; Modifer – black, public, protected or private Name – any legal Java identifier public enum Day {MON,TUE,WERD,THU,FRI,SAT,SUN} ICOM 4035ECE, UPRM19

20 Output: Initially d is MON Then it is WED I say d and t are the same: true ICOM 4035ECE, UPRM20

21 Methods Similar to functions and procedures Method has 2 parts: body and signature modifiers type name(type0 parameter0, …typen-1 parametern-1) { // method body… } type is the return type of the method, name – name of the method When a method of a class is called, it is invoked on a specific instance of the class and can change the state of the object ICOM 4035ECE, UPRM21

22 Similar to instance variables, Method modifiers can be public, protected, private or abstract Note: All parameters are passed by value, changing the internal reference inside a method will not change the reference that was passed in ICOM 4035ECE, UPRM22

23 Constructors A constructor is a special kind of method that is used to initialize newly created objects Note: name of constructor, name, must be same as the name of the class it constructs Return type not specified for constructor ICOM 4035ECE, UPRM23

24 Constructor definition and invocation Return statements are not allowed in a constructor body A new instance of this class is created and its constructor is used to initialize its isntance variables Must be called using new operator Fish myFish = new Fish(y, “Wally”); Classes that define Stand – alone Java program has the main method ICOM 4035ECE, UPRM24

25 Java Aquarium //system looks for compiled version of Aquarium class and invokes the special main method in that class ICOM 4035ECE, UPRM25

26 Statement blocks and local variables Two ways of declaring local variables type name; type name = initial_value; ICOM 4035ECE, UPRM26

27 Expressions Expressions involve the use of literals, variables and operators Variables and constants are used expressions to define new values/modify variables Literal: is any “constant” value – Null object reference – Boolean: true and false – Integer: type int, (32-bit integer), long iteger: 176L or -52l (64-bit integer) – Floating point: default for floating point numbers is double, 3.14E2 or.19e10 ICOM 4035ECE, UPRM27

28 – Character, ‘a’, ‘?’ are character constants – Special characters – String literal: sequence of characters “have a nice day” ICOM 4035ECE, UPRM28

29 Operators Assignment operator : variable=expression i = j = 25; Arithmetic operators: +, -, *, /, % Increment and decrement operators – int i=8; – int j=i++; – int k=++i; – int m=i--; – int n = 9+i++; ICOM 4035ECE, UPRM29

30 Logical operators =, > Boolean: ! Not && conditional and, || conditional or Bitwise operators: ~ bitwise complement, & bitwise and, | bitwise or, ^ bitwise exclusive or, >, >>> Operational assignment operators: variable op = expression Variable = variable op expression ICOM 4035ECE, UPRM30

31 Arrays ICOM 4035ECE, UPRM31

32 ICOM 4035ECE, UPRM32

33 Declaring arrays Element_type[] array_name = {init_val_0, init_value_1,.., init_val_N-1} int[] primes = {2,3,5,7,11} element_type[] array_name; new element_type[length] ICOM 4035ECE, UPRM33

34 Arrays are objects ICOM 4035ECE, UPRM34

35 Cloning an array ICOM 4035ECE, UPRM35

36 // Example 1 // --------- // First declare //reference and then construct it. int[] ExampleArray1; ExampleArray1 = new int[24]; // Example 2 // --------- // This can be considered //the short form for declaring and construction. int[] ExampleArray2 = new int[24]; ICOM 4035ECE, UPRM36

37 // Example 3 // --------- // Construct and assign //an array using a single command. String[] ExampleArray3 = { "Sun Solaris", "HP- UX", "Linux", "MS Windows", "Macintosh" }; int[] array = null; int[] arr = new int[] {1,2,3}; int[][] twoDimArray = { {1,2,3}, {4,5,6}, {7,8,9} }; int[][] myArray = new int[5][]; ICOM 4035ECE, UPRM37

38 Testing 2D array ICOM 4035ECE, UPRM38 class TestTwoDimArrays { // initialize # of rows static int [][] myArray = new int[3][]; public static void main(String[] args) { myArray[0] = new int[3]; // initialize # of cols myArray[1] = new int[4]; // in each row myArray[2] = new int[5]; for(int i=0; i<3; i++) // fill and print the array fillArray(i, i+3); System.out.println(); } // end main() private static void fillArray(int row, int col) { for( int i=0; i<col; i++) myArray[row][i] = i; for( int i=0; i<col; i++) System.out.print(myArray[row][i]); System.out.println(); }

39 Exercises in group Suppose that we create an array A of GameEntry objects, with integer scores field, we cloe A and store the result in an array B. If we set A[4].score =550, what is the score value of GameEntry object referenced by B[4]? Write a Java method that takes an array of int values and determines if all the numbers are different from each other. ICOM 4035ECE, UPRM39


Download ppt "Classes, Types and Objects Data Structures Chapter 1 Prof. Vidya Manian Dept. of Electrical and Comptuer Engineering ICOM 4035Java Programming BasicsECE,"

Similar presentations


Ads by Google