- By
**karan** - Follow User

- 68 Views
- Uploaded on

Download Presentation
## PowerPoint Slideshow about 'Introduction to Objects' - karan

**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

### Introduction to Objects

### Let’s start simple

A way to create our own types

Type and Variables

- Until this point we were only able to create simple types, actually call “primitive” types
- integer
- double
- float
- char
- String (actually not primitive)

We want to do better

- Bank Account
- Math Calculator
- Stock
- Car
- Vending machine
- Telephone
- Model “whatever” as software
- Make a computer act like one

Consider methods

- Take a known process
- Package it for reuse

if ((a >= b) && (a>=c))

max = a

else if ((b >= a) && (b>=c))

max = b

else

max = c;

int maxof3(int a, int b, int c){

int max;

if ((a >= b) && (a>=c))

max = a

else if ((b >= a) && (b>=c))

max = b

else

max = c;

return max;

}

How are object like this?

- Take a group of methods and data and package those for reuse.

class Testclass

int i

int i

int k

a( )

int k

a( )

b( )

b( )

c( )

c( )

int i;

int j;

class TestClass{

int i;

int j;

void a()

{…}

void b()

{…}

void c()

{…}

}

void a()

{…}

void b()

{…}

void c()

{…}

How do we decide what goes inside?

- The problem will guide us.
- The things we put inside will define
- What the object will do
- How we can interact with it
- These things will be the “Bank Account”s, “Student”s, etc

A circle

What are some of the attributes of a circle?

- Radius (most obvious)
- Color
- Border
- Position

How do we interact with a circle?

- Change its size
- Move it
- Ask it for its area
- … depending on the problem’s needs

Let’s start with a simple Circle class

- Just a radius
- No borders or colors
- A means of asking it for its area.
- This will serve as the basis (a type or class) for creating lots of circles

Circle()

class Circle {

double radius;

Circle(double r)

{ radius = r;

}

double Area()

{ double thisarea =

radius*radius*Math.PI;

return thisarea;

}

}

Circle()

Heading for the class

class Circle {

double radius;

Circle(double r)

{ radius = r;

}

double Area()

{ double this area =

radius*radius*Math.PI;

}

}

Circle()

class Circle {

double radius;

Circle(double r)

{ radius = r;

}

double Area()

{ double thisarea =

radius*radius*Math.PI;

return thisarea;

}

}

A property of

each circle

Circle()

class Circle {

double radius;

Circle(double r)

{ radius = r;

}

double Area()

{ double thisarea =

radius*radius*Math.PI;

return thisarea;

}

}

A method named Area

that will calculate the

area of that specific circle

Circle()

class Circle {

double radius;

Circle(double r)

{ radius = r;

}

double Area()

{ double thisarea =

radius*radius*Math.PI;

return thisarea;

}

}

A constructor

Used to initialize the circle

Let’s see how in the next slide

Creating circles

Circle circle1 = new Circle(10);

circle1

radius:10

Circle circle2 = new Circle(15);

circle2

radius:15

Asking about area

Circle circle1 = new Circle(10);

System.out.println(circle1.Area());

circle1

radius:10

Each circle will return

it’s own area

Circle circle2 = new Circle(15);

System.out.println(circle2.Area());

circle2

radius:15

What’s the difference?

- Circle circle1 = new Circle(10);
- Circle circle1;

Creates a REFERENCE

Like having a telephone

number for a friend.. a

means to find them. But

this one is a contact

without a number.

What’s the difference?

- Circle circle1 = new Circle(10);
- Circle circle1;

Creates the object

and defines the

reference to the object

In this case, circle1

actually refers to a real

Circle.

public class Circle {

double radius;

Circle(double r)

{ radius = r;

}

double Area()

{ double thisarea =

radius*radius*Math.PI;

return thisarea;

}

public static void main(String[ ] args)

{

Circle circle1 = new Circle(10);

System.out.println(circle1.Area());

Circle circle2 = new Circle(15);

System.out.println(circle2.Area());

}

}

Put it Together!314.1562..

706.8583..

Do I need new()?Can I define a variable and just reference from the main?How about this?… TRY IT…

public class Circle() {

double radius=5;

public static void main(String args[])

{

System.out.println(radius);

}

}

Error: non-static variable radius cannot

be referenced from a static context

You never “new()”ed one. No radius exists.

public class Circle() {

double radius=5;

double Area()

{ double this area =

radius*radius*Math.PI;

}

public static void main(String args[])

{

System.out.println(Area());

}

}

Do I need new()?Here there is no Area() or radius defined.Because NO new() has occurred!Error : nonstatic method can not

be referenced from static method

public class Circle {

double radius;

Circle(double r)

{ radius = r;

}

double Area()

{ double thisarea =

radius*radius*Math.PI;

return thisarea;

}

public static void main(String args[])

{

Circle circle1 = new Circle(10);

System.out.println(circle1.Area());

Circle circle2 = new Circle(15);

System.out.println(circle2.Area());

}

}

This one creates the object.Then a radius and Area() exists to use… no errors.These are created

when you new()

public class Circle {

double radius;

Circle(double r)

{ radius = r;

}

double Area()

{ double thisarea =

radius*radius*Math.PI;

return thisarea;

}

public static void main(String args[])

{

int i = 5;

System.out.println(i);

Circle circle1 = new Circle(10);

System.out.println(circle1.Area());

}

}

Why can I declare “i”

like this in the main,

but not radius in the

previous example?

This is legal!

public class Circle {

double radius;

Circle(double r)

{ radius = r;

}

double Area()

{ double thisarea =

radius*radius*Math.PI;

return thisarea;

}

public static void main(String args[])

{

int i = 5;

System.out.println(i);

Circle circle1 = new Circle(10);

System.out.println(circle1.Area());

}

}

Because main is static.

Static needs more

explanation.

Download Presentation

Connecting to Server..