Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
80 views

Introducing Object-Oriented Programming (OOP)

Java is a popular object-oriented programming language that is designed to be portable, secure, and robust, featuring automatic memory management, exceptions, threads, and dynamic capabilities while avoiding some complex features of C++ like pointers and multiple inheritance.

Uploaded by

Hem Ramesh
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views

Introducing Object-Oriented Programming (OOP)

Java is a popular object-oriented programming language that is designed to be portable, secure, and robust, featuring automatic memory management, exceptions, threads, and dynamic capabilities while avoiding some complex features of C++ like pointers and multiple inheritance.

Uploaded by

Hem Ramesh
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 28

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 don’t affect the parent
class’s 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 object’s 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 don’t 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
Java Features (2)
• 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 (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

You might also like