際際滷

際際滷Share a Scribd company logo
Introducing Object-Oriented
Programming (OOP)
By A.Hemlathadhevi
Programming Languages
 Programming languages allow programmers
to code software.
 The three major families of languages are:
 Machine languages
 Assembly languages
 High-Level languages
Machine Languages
 Comprised of 1s and 0s
 The native language of a computer
 Difficult to program  one misplaced 1 or 0
will cause the program to fail.
 Example of code:
1110100010101 111010101110
10111010110100 10100011110111
Assembly Languages
 Assembly languages are a step towards easier
programming.
 Assembly languages are comprised of a set of
elemental commands which are tied to a
specific processor.
 Assembly language code needs to be
translated to machine language before the
computer processes it.
 Example:
ADD 1001010, 1011010
High-Level Languages
 High-level languages represent a giant leap
towards easier programming.
 The syntax of HL languages is similar to
English.
 Historically, we divide HL languages into two
groups:
 Procedural languages
 Object-Oriented languages (OOP)
Procedural Languages
 Early high-level languages are typically called
procedural languages.
 Procedural languages are characterized by
sequential sets of linear commands. The focus
of such languages is on structure.
 Examples include C, COBOL, Fortran, LISP, Perl,
HTML, VBScript
Object Oriented Programming
 Object  Unique programming entity that has
methods, has attributes and can react to
events.
 Method  Things which an object can do; the
verbs of objects. In code, usually can be
identified by an action word -- Hide, Show
Object Oriented Programming
 Attribute  Things which describe an object;
the adjectives of objects. In code, usually
can be identified by a descriptive word 
Enabled, BackColor
 Events  Forces external to an object to which
that object can react. In code, usually attached
to an event procedure
Object Oriented Programming
 Class  Provides a way to create new objects
based on a meta-definition of an object
(Example: The automobile class)
 Constructors  Special methods used to create
new instances of a class (Example: A Honda
Civic is an instance of the automobile class.)
OOP - Encapsulation
 Incorporation into a class of data & operations
in one package
 Data can only be accessed through that
package
 Information Hiding
OOP - Inheritance
 Allows programmers to create new classes
based on an existing class
 Methods and attributes from the parent class
are inherited by the newly-created class
 New methods and attributes can be created in
the new class, but dont affect the parent
classs definition
OOP - Polymorphism
 Creating methods which describe the way to
do some general function (Example: The
drive method in the automobile class)
 Polymorphic methods can adapt to specific
types of objects.
Classes and Objects
 A class is a data type that allows programmers to
create objects. A class provides a definition for an
object, describing an objects attributes (data)
and methods (operations).
 An object is an instance of a class. With one
class, you can have as many objects as required.
 This is analogous to a variable and a data type,
the class is the data type and the object is the
variable.
Thank you
 Mam, I learnt that, object is a instance of
class, and constructor is also a instance of a
class. How can it be possible mam?. Can you
please explain mam? But the declaration of a
object is different from constructor.(learnt
from c++) Please explain mam
 A class is a kind of data type, just like a string,
integer or list. When we create an object of
that data type, we call it an instance of a class.
 A constructor is a member function of a class
which initializes objects of a class. In C++,
Constructor is automatically called when
object(instance of class) create. It is special
member function of the class.
 How constructors are different from a normal
member function?
A constructor is different from normal
functions in following ways:
Constructor has same name as the class itself
Constructors dont have return type
A constructor is automatically called when an
object is created.
If we do not specify a
constructor, C++ compiler
generates a default
constructor for us (expects
no parameters and has an
empty body).
 we have created a simple object and then we
assign values to each data member of the
class in the main function after reading these
values from the standard input. Then ,we will
take a look at a special function that is used to
initialize the object during its creation. This
special function is called a constructor.
because the constructor is a special member
function of class.
 3 classs
What is java?
 Developed by Sun Microsystems (James Gosling)
 A general-purpose object-oriented language
 Based on C/C++
 Designed for easy Web/Internet applications
 Widespread acceptance
Java Features (1)
 Simple
 fixes some clumsy features of C++
 no pointers
 automatic garbage collection
 rich pre-defined class library http://java.sun.com/j2se/1.4.2/docs/api/
 Object oriented
 focus on the data (objects) and methods manipulating the data
 all functions are associated with objects
 almost all datatypes are objects (files, strings, etc.)
 potentially better code organization and reuse
 Interpreted
 java compiler generate byte-codes, not native machine code
 the compiled byte-codes are platform-independent
 java bytecodes are translated on the fly to machine readable
instructions in runtime (Java Virtual Machine)
 Portable
 same application runs on all platforms
 the sizes of the primitive data types are always the same
 the libraries define portable interfaces
Java Features (2)
Java Features (3)
 Reliable
 extensive compile-time and runtime error checking
 no pointers but real arrays. Memory corruptions or unauthorized
memory accesses are impossible
 automatic garbage collection tracks objects usage over time
 Secure
 usage in networked environments requires more security
 memory allocation model is a major defense
 access restrictions are forced (private, public)
Java Features (4)
 Multithreaded
 multiple concurrent threads of executions can run simultaneously
 utilizes a sophisticated set of synchronization primitives (based on
monitors and condition variables paradigm) to achieve this
 Dynamic
 java is designed to adapt to evolving environment
 libraries can freely add new methods and instance variables without
any effect on their clients
 interfaces promote flexibility and reusability in code by specifying a set
of methods an object can perform, but leaves open how these
methods should be implemented
 can check the class type in runtime
Java Disadvantages
 Slower than compiled language such as C
 an experiment in 1999 showed that Java was 3 or 4 times slower than
C or C++
title of the article: Comparing Java vs. C/C++ Efficiency Issues to Interpersonal
Issues (Lutz Prechelt)
 adequate for all but the most time-intensive programs

More Related Content

Introducing object oriented programming (oop)

  • 2. Programming Languages Programming languages allow programmers to code software. The three major families of languages are: Machine languages Assembly languages High-Level languages
  • 3. Machine Languages Comprised of 1s and 0s The native language of a computer Difficult to program one misplaced 1 or 0 will cause the program to fail. Example of code: 1110100010101 111010101110 10111010110100 10100011110111
  • 4. Assembly Languages Assembly languages are a step towards easier programming. Assembly languages are comprised of a set of elemental commands which are tied to a specific processor. Assembly language code needs to be translated to machine language before the computer processes it. Example: ADD 1001010, 1011010
  • 5. High-Level Languages High-level languages represent a giant leap towards easier programming. The syntax of HL languages is similar to English. Historically, we divide HL languages into two groups: Procedural languages Object-Oriented languages (OOP)
  • 6. Procedural Languages Early high-level languages are typically called procedural languages. Procedural languages are characterized by sequential sets of linear commands. The focus of such languages is on structure. Examples include C, COBOL, Fortran, LISP, Perl, HTML, VBScript
  • 7. Object Oriented Programming Object Unique programming entity that has methods, has attributes and can react to events. Method Things which an object can do; the verbs of objects. In code, usually can be identified by an action word -- Hide, Show
  • 8. Object Oriented Programming Attribute Things which describe an object; the adjectives of objects. In code, usually can be identified by a descriptive word Enabled, BackColor Events Forces external to an object to which that object can react. In code, usually attached to an event procedure
  • 9. Object Oriented Programming Class Provides a way to create new objects based on a meta-definition of an object (Example: The automobile class) Constructors Special methods used to create new instances of a class (Example: A Honda Civic is an instance of the automobile class.)
  • 10. OOP - Encapsulation Incorporation into a class of data & operations in one package Data can only be accessed through that package Information Hiding
  • 11. OOP - Inheritance Allows programmers to create new classes based on an existing class Methods and attributes from the parent class are inherited by the newly-created class New methods and attributes can be created in the new class, but dont affect the parent classs definition
  • 12. OOP - Polymorphism Creating methods which describe the way to do some general function (Example: The drive method in the automobile class) Polymorphic methods can adapt to specific types of objects.
  • 13. Classes and Objects A class is a data type that allows programmers to create objects. A class provides a definition for an object, describing an objects attributes (data) and methods (operations). An object is an instance of a class. With one class, you can have as many objects as required. This is analogous to a variable and a data type, the class is the data type and the object is the variable.
  • 15. Mam, I learnt that, object is a instance of class, and constructor is also a instance of a class. How can it be possible mam?. Can you please explain mam? But the declaration of a object is different from constructor.(learnt from c++) Please explain mam
  • 16. A class is a kind of data type, just like a string, integer or list. When we create an object of that data type, we call it an instance of a class.
  • 17. A constructor is a member function of a class which initializes objects of a class. In C++, Constructor is automatically called when object(instance of class) create. It is special member function of the class.
  • 18. How constructors are different from a normal member function? A constructor is different from normal functions in following ways: Constructor has same name as the class itself Constructors dont have return type A constructor is automatically called when an object is created.
  • 19. If we do not specify a constructor, C++ compiler generates a default constructor for us (expects no parameters and has an empty body).
  • 20. we have created a simple object and then we assign values to each data member of the class in the main function after reading these values from the standard input. Then ,we will take a look at a special function that is used to initialize the object during its creation. This special function is called a constructor.
  • 21. because the constructor is a special member function of class.
  • 23. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++ Designed for easy Web/Internet applications Widespread acceptance
  • 24. Java Features (1) Simple fixes some clumsy features of C++ no pointers automatic garbage collection rich pre-defined class library http://java.sun.com/j2se/1.4.2/docs/api/ Object oriented focus on the data (objects) and methods manipulating the data all functions are associated with objects almost all datatypes are objects (files, strings, etc.) potentially better code organization and reuse
  • 25. Interpreted java compiler generate byte-codes, not native machine code the compiled byte-codes are platform-independent java bytecodes are translated on the fly to machine readable instructions in runtime (Java Virtual Machine) Portable same application runs on all platforms the sizes of the primitive data types are always the same the libraries define portable interfaces Java Features (2)
  • 26. Java Features (3) Reliable extensive compile-time and runtime error checking no pointers but real arrays. Memory corruptions or unauthorized memory accesses are impossible automatic garbage collection tracks objects usage over time Secure usage in networked environments requires more security memory allocation model is a major defense access restrictions are forced (private, public)
  • 27. Java Features (4) Multithreaded multiple concurrent threads of executions can run simultaneously utilizes a sophisticated set of synchronization primitives (based on monitors and condition variables paradigm) to achieve this Dynamic java is designed to adapt to evolving environment libraries can freely add new methods and instance variables without any effect on their clients interfaces promote flexibility and reusability in code by specifying a set of methods an object can perform, but leaves open how these methods should be implemented can check the class type in runtime
  • 28. Java Disadvantages Slower than compiled language such as C an experiment in 1999 showed that Java was 3 or 4 times slower than C or C++ title of the article: Comparing Java vs. C/C++ Efficiency Issues to Interpersonal Issues (Lutz Prechelt) adequate for all but the most time-intensive programs