Object Oriented programming in Java:
Principles of Programming Languages:
EasyExamNotes.com covered following topics in PPL.
Object Oriented programming is a programming style which is associated with the concepts like class, object, Inheritance, Encapsulation, Abstraction, Polymorphism.
Class: A class is a collection of method and variables.
Class: A class is a collection of method and variables.
We can define a class using the class keyword and the class body enclosed by a pair of curly braces, as shown in the following example:
public class A
{
}
{
}
Inheritance: Inheritance feature allows code reusability when a class includes property of another class. In Java “extends” is used to represent inheritance, as shown in the following example:
public class Papa {
}
class Child extends Papa {
}
}
class Child extends Papa {
}
Objects: Object is a component of a program that knows how to perform certain actions and how to interact with other elements of the program, as shown in the following example:
Rectangle Rect = new Rectangle();
Here, Rectangle is a class, Rect is an object of class Rectangle, new is a keyword, Rectangle() is a constructor of class Rectangle.
Abstraction: Abstraction can be achieved using abstract classes in Java. Abstract classes contain abstract methods, which are implemented by the derived class.
Encapsulation: Encapsulation means bundling of data and methods within one unit, e.g., a class in Java. Encapsulation enables a programmer to implement the desired level of abstraction.
Polymorphism: Polymorphism means overloading and overriding, as shown in the following example:
Polymorphism overloading example:
public class OverLoading
{
public void sum(int a, int b)
{
System.out.println(a + b);
}
public void sum(int a, int b, int c)
{
System.out.println(a + b + c );
}
{
public void sum(int a, int b)
{
System.out.println(a + b);
}
public void sum(int a, int b, int c)
{
System.out.println(a + b + c );
}
}
Polymorphism overriding example:
public class Parent
{
public virtual void Show()
{
System.out.println("Welcome");
}
}
public class Child extends Parent
{
public override void Show()
{
System.out.println("Swagatam");
}
}
{
public virtual void Show()
{
System.out.println("Welcome");
}
}
public class Child extends Parent
{
public override void Show()
{
System.out.println("Swagatam");
}
}
Principles of Programming Languages:
EasyExamNotes.com covered following topics in PPL.
- Language Evaluation Criteria
- Influences on Language Design
- Language Categories
- Programming Paradigms
- Compilation
- Virtual Machines
- Programming Environments
- Issues in Language Translation
- Parse Tree
- Pointer and Reference type
- Concept of Binding
- Type Checking
- Strong typing
- Sequence control with Expression
- Exception Handling
- Subprograms
- Fundamentals of sub-programs
- Scope and lifetime of variable
- Static and dynamic scope
- Design issues of subprogram and operations
- Local referencing environments
- Parameter passing methods
- Overloaded sub-programs
- Generic sub-programs
- Design issues for functions
- Co routines
- Abstract Data types
- Abstraction and encapsulation
- Static and Stack-Based Storage management
- Garbage Collection
- OOP in C++
- OOP in Java
- OOP in C#
- OOP in PHP
- Concurrency
- Semaphores
- Monitors
- Message passing
- Java threads
- C# threads
- Exception handling
- Exceptions
- Exception Propagation
- Exception handler in C++
- Exception handler in Java
- Introduction and overview of Logic programming
- Basic elements of Prolog
- Application of Logic programming
- Functional programming languages
- Introduction to 4GL
Practicals:
- Memory Implementation of 2D Array.
- Memory Implementation of 3D Array.
- Implementation of pointers in C++.
- Write a program in Java to implement exception handling.
- Write a program in C++ to implement call by value parameter passing Method.
- Write a program in C++ to implement call by reference parameter passing Method.
- Write a program in Java to implement concurrent execution of a job using threads.
- Implement Inheritance in C#.
- Implement Encapsulation in C#.
- Implement static/compiletime Polymorphism in C#.
- Implement dynamic/runtime Polymorphism in C#.
Previous years solved papers:
A list of Video lectures
References:
- Sebesta,”Concept of programming Language”, Pearson Edu
- Louden, “Programming Languages: Principles & Practices” , Cengage Learning
- Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill.
- E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley
- Memory Implementation of 2D Array.
- Memory Implementation of 3D Array.
- Implementation of pointers in C++.
- Write a program in Java to implement exception handling.
- Write a program in C++ to implement call by value parameter passing Method.
- Write a program in C++ to implement call by reference parameter passing Method.
- Write a program in Java to implement concurrent execution of a job using threads.
- Implement Inheritance in C#.
- Implement Encapsulation in C#.
- Implement static/compiletime Polymorphism in C#.
- Implement dynamic/runtime Polymorphism in C#.
Previous years solved papers:
A list of Video lectures
References:
References:
- Sebesta,”Concept of programming Language”, Pearson Edu
- Louden, “Programming Languages: Principles & Practices” , Cengage Learning
- Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill.
- E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley