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

Introducing object oriented programming (oop)

  • 1.
  • 2.
    Programming Languages • Programminglanguages allow programmers to code software. • The three major families of languages are: – Machine languages – Assembly languages – High-Level languages
  • 3.
    Machine Languages • Comprisedof 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 • Assemblylanguages 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-levellanguages 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 • Earlyhigh-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 don’t affect the parent class’s 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 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.
  • 14.
  • 15.
    • Mam, Ilearnt 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 classis 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 constructoris 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 constructorsare 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.
  • 19.
    If we donot specify a constructor, C++ compiler generates a default constructor for us (expects no parameters and has an empty body).
  • 20.
    • we havecreated 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 constructoris a special member function of class.
  • 22.
  • 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 – javacompiler 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 • Slowerthan 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