Cse115 introduction to computer science i
This presentation is the property of its rightful owner.
Sponsored Links
1 / 39

CSE115: Introduction to Computer Science I PowerPoint PPT Presentation


  • 52 Views
  • Uploaded on
  • Presentation posted in: General

CSE115: Introduction to Computer Science I. Dr. Carl Alphonce 219 Bell Hall 645-4739 [email protected] Announcements. No classes on Monday before 6:00 PM No office hours on Monday New lab starting next week Exam grading should be finished tonight . What is a class definition ?.

Download Presentation

CSE115: Introduction to Computer Science I

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cse115 introduction to computer science i

CSE115: Introduction to Computer Science I

Dr. Carl Alphonce

219 Bell Hall

645-4739

[email protected]


Announcements

Announcements

  • No classes on Monday before 6:00 PM

  • No office hours on Monday

  • New lab starting next week

  • Exam grading should be finished tonight 


What is a class definition

What is a class definition?

  • A class definition is a description of the properties and behaviors that instances of the class will have.

  • Recall that we said a running OO program is a system of interacting objects.

  • Possible relationships between objects are determined by relationships between classes. (Important – we’ll return to this!)


Where do objects come from

Where do objects come from?

  • Objects are instances of classes

  • We instantiate classes:

    • e.g.new example1.Terrarium()

    • There are three parts to this expression:

      • new

      • example1.Terrarium

      • ()


Cse115 introduction to computer science i

‘new’ is a “reserved word” in Java. This means that the word ‘new’ has a special meaning in the Java language.

example1.Terrarium() is a constructor call.

A constructor initializes the state of a newly created object.

new example1.Terrarium()

‘new’ is the name of an operator whose job it is to create an instance of a given class

The parentheses delimit the argument list of the constructor call. In this case there are no arguments being passed along to the constructor, so the argument list is empty.

example1.Terrarium is the name of the class we are instantiating. It is a compound name, consisting of a package name (example1) and the name of the class’ constructor (Terrarium), separated by a dot ‘.’

A constructor initializes the state of a newly created object.


Object creation revisited refined

Object creation(revisited & refined)

  • new determines size of object

  • reserves a block of memory for object

  • calls constructor to initialize the object

    • we will consider a constructor to be a special case of a method

  • returns the starting address of block of memory (a reference to the object)


Cse115 introduction to computer science i

Packages – 1

  • A package is an organizational mechanism

    • related classes are grouped together

  • allows class names to be re-used in different packages

  • reduces chance of naming conflicts


Packages 2

Packages – 2

  • One analogy:

    • package::class

    • area code::phone number

  • A class’ fully qualified name consists of its package name and its (unqualified) class name:

    • example1.Terrarium is a fully qualified class name

    • Terrarium is an unqualified class name


Folder structure on disk

Folder structure on disk

  • each package corresponds to a folder on the disk

  • packages can be nested within each other

    • corresponds to nested folder on disk

  • examples:

    • java.rmi.registry

    • javax.swing.text.html.parser

    • com.sun.accessibility.internal.resources.accessibility


Defining a class

Defining a class

  • Let us define a class which, when instantiated, creates a Terrarium, adds a Caterpillar, and makes the Caterpillar move.

  • This is similar to what you will do for lab 2.

  • We start with a minimal class definition.


Our first class definition

Our first class definition!

Here’s a minimal class definition. We will label and discuss each part of it:

package lab2;

public class EcoSystem {

public EcoSystem() {

}

}


Syntax

Syntax

package lab2;

public class EcoSystem {

public EcoSystem() {

}

}

Package declaration is shown in green:


Syntax1

Syntax

package lab2;

public class EcoSystem {

public EcoSystem() {

}

}

package is a reserved word:


Syntax2

Syntax

package lab2;

public class EcoSystem {

public EcoSystem() {

}

}

lab2 is the name of the package – you choose this (we’ll cover naming rules and conventions later):


Syntax3

Syntax

package lab2;

public class EcoSystem {

public EcoSystem() {

}

}

A semicolon ‘;’marks the end of the declaration:


Syntax4

Syntax

package lab2;

public class EcoSystem {

public EcoSystem() {

}

}

The class definition is shown in green:


Syntax5

Syntax

package lab2;

public class EcoSystem{

public EcoSystem() {

}

}

The class definition consists of a header . . .


Syntax6

Syntax

package lab2;

public class EcoSystem {

public EcoSystem() {

}

}

. . . and a body:


Syntax7

Syntax

package lab2;

public class EcoSystem{

public EcoSystem() {

}

}

The class header consists of an access control modifier . . .


Syntax8

Syntax

package lab2;

public classEcoSystem{

public EcoSystem() {

}

}

. . . the reserved word class . . .


Syntax9

Syntax

package lab2;

publicclass EcoSystem{

public EcoSystem() {

}

}

. . . and a class name:


Syntax10

Syntax

package lab2;

publicclass EcoSystem {

public EcoSystem() {

}

}

The class body begins with an opening brace ‘{’ . . .


Syntax11

Syntax

package lab2;

publicclass EcoSystem{

public EcoSystem() {

}

}

. . . and ends with the matching closing brace ‘}’ :


Syntax12

Syntax

package lab2;

publicclass EcoSystem{

public EcoSystem() {

}

}

In this example, the body consists of a single constructor definition:


Syntax13

Syntax

package lab2;

publicclass EcoSystem{

public EcoSystem() {

}

}

The constructor definitions consists of a header . . .


Syntax14

Syntax

package lab2;

publicclass EcoSystem{

public EcoSystem() {

}

}

. . . and a body:


Syntax15

Syntax

package lab2;

publicclass EcoSystem{

publicEcoSystem() {

}

}

The constructor header consists of an access control modifier . . .


Syntax16

Syntax

package lab2;

publicclass EcoSystem{

public EcoSystem() {

}

}

. . . the constructor name (which is the same as the class name) . . .


Syntax17

Syntax

package lab2;

publicclass EcoSystem{

public EcoSystem() {

}

}

. . . and a parameter list:


Syntax18

Syntax

package lab2;

publicclass EcoSystem{

public EcoSystem() {

}

}

The constructor body begins with an opening brace ‘{’ . . .


Syntax19

Syntax

package lab2;

publicclass EcoSystem{

public EcoSystem() {

}

}

. . . and ends with the matching closing brace ‘}’ :


Let s return to defining a class

Let’s return to:defining a class

  • We set out to define a class which, when instantiated, creates a Terrarium, adds a Caterpillar, and makes the Caterpillar move.

  • We started with a minimal class definition, let’s move beyond that now.


Variable declaration

Variable declaration

A variable can be declared inside the body of a method – it is called a local variable.

package lab2;

publicclass EcoSystem{

public EcoSystem() {

example1.Terrarium t;

}

}


Variables properties

Variables’ properties

  • name

  • location

  • type

  • value (contents)

  • scope

  • lifetime


Variable scope

Variable scope

  • The scope of a variable is the part of a program where a variable declaration is in effect.

  • Variables declared in different ways have different scope.


Local variables

Local variables

  • A variable declared within a constructor (method) is called a local variable.

  • The scope of a local variable is from the point of the declaration to the end of the method body.


Assignment statement

Assignment statement

Any statement must be inside the body of a method:

package lab2;

publicclass EcoSystem{

public EcoSystem() {

example1.Terrarium t;

t = new example1.Terrarium();

}

}


The complete solution

The complete solution

package lab2;

publicclass EcoSystem{

public EcoSystem() {

example1.Terrarium t;

t = new example1.Terrarium();

example1.Caterpillar c;

c = new example1.Caterpillar();

t.add(c);

c.start();

}

}


Cse115 introduction to computer science i

  • Every time class is instantiated, the constructor is executed.

  • This creates a new Terrarium with a new moving Caterpillar.


  • Login