27
Object oriented programming java OOP Understanding MOHAMMAD ALSHEHRI LS0806205

Oop

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Oop

Object oriented programming

java

OOP UnderstandingMOHAMMAD ALSHEHRI

LS0806205

Page 2: Oop

What is Object-Oriented Programming?Object oriented programming or OOP is a way of writing programs using objects.

{ An object is a data structure in memory that has

attributes and methods. { The attributes of an object are the same as variables and the methods of an object are the same as functions or procedures.

The reason for using objects instead of the old procedural method of programming is because objects group the variables and methods about something together instead of keeping them all apart as in procedural programming

Page 3: Oop

There are four main pillars of an OOP:

1.Inheritance2.Encapsulation:3.Polymorphism4.Dynamic binding

Page 4: Oop

Inheritance provide the facility to drive one class by another using simple syntax. You can say that it is a process of creating new class and use the behavior of the existing class by extending them for reuse the existing code and adding the additional features as you need. It also use to manage and make well structured software.

Inheritance:

Page 5: Oop

Encapsulation is the ability to bundle the property and method of the object and also operate them. It is the mechanism of combining the information and providing the abstraction as well.

Encapsulation:

Page 6: Oop

As the name suggest one name multiple form, Polymorphism is the way that provide the different functionality by the functions  having the same name based on the signatures of the methods. There are two type of polymorphism first is run-time polymorphism and second is compile-time polymorphism.

Polymorphism:

Page 7: Oop

It is the way that provide the maximum functionality to a program for a specific type at runtime. There are two type of binding first is dynamic binding and second is static binding.

Dynamic binding:

Page 8: Oop

As the languages like C, C++ fulfills the above four characteristics yet they  are not fully object oriented languages because they are structured as well as object oriented languages. But in case of java,  it is a fully Object Oriented language because object is at the outer most level of data structure in java. No stand alone methods, constants, and variables are there in java. Everything in java is object even the primitive data types can also be converted into object by using the wrapper class.

Page 9: Oop

First program in java

① public class FirstProgram ② { ③      public static void main(String[] args) ④      { ⑤           System.out.println("Hey! you are going to

compile and run your first Java program"); ⑥      } ⑦ }

Page 10: Oop

Class: A class defines the properties and behavior (variables and methods) that is shared by all its objects. It is a blue print for the creation of  objects. The primitive data type and keyword void is work as a class object.

Object:  Object is the basic entity of object oriented programming language. Class itself does nothing but the real functionality is achieved through their objects. Object is an instance of the class. It takes the properties (variables) and uses the behavior (methods) defined in the class. 

Page 11: Oop

class Check{  private int amount=0;  public int getAmount(){     return amount;  }  public void setAmount(int amt){     amount=amt;  } } public class Mainclass{  public static void main(String[] args){     int amt=0;     Check obj= new Check();     obj.setAmount(200);     amt=obj.getAmount();      System.out.println("Your current amount is :"+amt);     }}

Page 12: Oop

Using classes and objectsBefore you can create an object you need to

create a class. A class is the code for an object and an object is the instance of a class in memory. When you create an object from a

class it is called instantiating the object. To help you understand think of the plan for a

house. The plan for the house is like the class and the house that will be built from the plan is

the object.

Page 13: Oop

Creating a classYou have already been creating classes in the programs you have written so far. To show you how they work we will need to create a separate class in a separate file. This class will be called Student.public class Student{}

Page 14: Oop

Now we will add 2 variables to the class which are the student's name and student number.public class Student{   String studentName;   int studentNumber;}

Page 15: Oop

Next we must add methods for getting and setting these variables.public class Student{   String studentName;   int studentNumber;    public void setStudentName(String s)   {      studentName = s;   }    public void setStudentNumber(int i)   {      studentNumber = i;   }    public String getStudentName()   {      return studentName;   }    public int getStudentNumber()   {       return studentNumber;   }}

Page 16: Oop

Instantiating an objectNow that we have finished writing the class we must create the main program that will instantiate the object. We will call the main program class TestClass. It should look just like how every other java program starts off.public class TestClass{   public static void main(String[] args)   {   }} Now we will instantiate the object. To do this we declare a reference to the object called stu and set it equal to a newly created object in memory.public class TestClass{   public static void main(String[] args)   {      Student stu = new Student();   }}

Page 17: Oop

Using the objectNow we can call the methods from the stu object to set the values of its variables. You can't set the values of the variables in an object unless they are declared as public. This makes it safer to work with variables because they can't be changed by mistake by another object.public class TestClass{   public static void main(String[] args)   {      Student stu = new Student();      stu.setStudentName("John Smith");      stu.setStudentNumber(12345);      System.out.println("Student Name: " + stu.getStudentName());      System.out.println("Student Number: " + stu.getStudentNumber());   }}

Page 18: Oop

ConstructorsA constructor is a method that is run when an object is instantiated. Constructors are useful for initializing variables. The constructor is declared with only the name of the class followed by brackets. Here is an example of the Student class that initializes both student name and student number.

Page 19: Oop

public class Student{   String studentName;   int studentNumber;    Student()   {      studentName = "No name";      studentNumber = 1;   }    public void setStudentName(String s)   {      studentName = s;   }    public void setStudentNumber(int i)   {      studentNumber = i;   }    public String getStudentName()   {      return studentName;   }    public int getStudentNumber()   {       return studentNumber;   }}

Page 20: Oop

You can also pass parameters to a constructor when you instantiate an object. All you need to do is add the parameters in the brackets after the constructor declaration just like a normal method.

Page 21: Oop

public class Student{

   String studentName;   int studentNumber;    Student(String s, int i)   {      studentName = s;      studentNumber = i;   }    public void setStudentName(String s)   {      studentName = s;   }    public void setStudentNumber(int i)   {      studentNumber = i;   }    public String getStudentName()   {      return studentName;   }    public int getStudentNumber()   {       return studentNumber;   }}

Page 22: Oop

Now all you need to do is put the parameters in the brackets when you instantiate the object in the main program.public class TestClass{   public static void main(String[] args)   {      Student stu = new Student("John Smith",12345);      System.out.println("Student Name: " + stu.getStudentName());      System.out.println("Student Number: " + stu.getStudentNumber());   }}

Page 23: Oop

How to use inheritanceWe will first create a parent class called Person. We will then create a child class called Student. Then we will create a program to use the

Student class. The following is a Person class which has a variable for the person's name. There are also set and get methods for the name.

class Person{   private String name;    public void setName(String n)   {      name = n;   }    public String getName()   {      return name;   }}

Page 24: Oop

Now we will create the Student class that has a variable for the student number and the get and set methods for student number.

The extends keyword is used to inherit from the Person class in the following example.

class Student extends Person{   private String stuNum;    public void setStuNum(String sn)   {      stuNum = sn;   }    public String getStuNum()   {      return stuNum;   }}

Page 25: Oop

public class AnimalReference{ public static void main(String args[]) Animal ref // set up var for an Animal Cow aCow = new Cow("Bossy"); // makes specific objects Dog aDog = new Dog("Rover"); Snake aSnake = new Snake("Earnie");

// now reference each as an Animal ref = aCow; ref.speak(); ref = aDog; ref.speak(); ref = aSnake; ref.speak();}

Polymorphism

Page 26: Oop

شكرا谢谢

Thanks

中沙友谊地久天长

Page 27: Oop