This document provides an introduction to object-oriented programming (OOP) using Java. It defines key OOP concepts like classes, objects, encapsulation, inheritance and polymorphism. It explains the differences between procedural and object-oriented paradigms. Popular OOP languages like Java, C++, Smalltalk are listed, with examples of how classes and objects are used to represent real-world entities like vehicles. The advantages of OOP like code reusability and modular design are also summarized.
1. Object oriented programming is a programming model organized around objects rather than actions and data rather than logic. The basic concepts are objects, classes, encapsulation, abstraction, data hiding, polymorphism, and inheritance.
2. An object has an identity, properties, and behavior. A class is a blueprint that defines common attributes and behaviors of objects. Classes allow for data and functions to be bundled together.
3. The key features of OOP are encapsulation, which combines data and functions into a class; abstraction, which hides complex details and shows only essential information; inheritance, which forms new classes from existing classes; and polymorphism, which allows the same operation to be performed in different ways.
The document discusses key concepts in object-oriented programming including objects, classes, encapsulation, abstraction, polymorphism, and inheritance. It provides definitions and examples of each concept. For objects, it describes how objects have an identity, state, and behavior. For classes, it explains that a class is a blueprint that defines common properties and behaviors for a collection of objects.
This document compares procedure-oriented programming and object-oriented programming. Procedure-oriented programming divides programs into smaller subprograms called functions that can access shared global data, while object-oriented programming divides programs into objects that encapsulate both data and functions together and protect data from access by external functions. The document also discusses key object-oriented programming concepts like classes, encapsulation, inheritance, polymorphism, and messaging that provide benefits like code reuse and easier management of complex software projects.
This document provides an overview of object-oriented programming concepts. It begins by defining a programming language and different levels of abstraction in languages. It then defines object-oriented programming as relying on classes and objects, with classes acting as blueprints for objects. The basic building blocks of OOP - objects, classes, attributes, and methods - are introduced. Each concept is then defined in more detail, including objects, classes, inheritance, encapsulation, abstraction, and polymorphism. The document concludes by outlining some advantages of using an object-oriented programming approach.
This document provides an overview of object-oriented programming concepts. It discusses procedural programming versus object-oriented programming. It then describes key characteristics of OOP like objects, classes, encapsulation, abstraction, inheritance, polymorphism, and message passing. Objects are runtime entities that have state and behavior. Classes provide blueprints for objects and define their properties and methods. Encapsulation hides implementation details, while abstraction exposes only necessary details. Inheritance allows classes to inherit properties from other classes. Polymorphism allows the same method name to perform different tasks. Message passing allows objects to communicate by sending and receiving messages.
The document discusses procedural programming and object-oriented programming. Procedural programming focuses on functions and steps, while object-oriented programming focuses more on modeling real-world objects and their properties and interactions. Key concepts discussed for object-oriented programming include objects, classes, abstraction, encapsulation, inheritance, and polymorphism. Visual programming is also introduced, which allows creating graphical user interfaces visually rather than through code.
This document discusses the basic features of object-oriented programming (OOP) and Java. It defines OOP as a programming paradigm based on modeling real-world entities as objects that have attributes and behaviors. The key features of OOP discussed are: classes, objects, inheritance, polymorphism, abstraction, and encapsulation. Classes are logical entities that define objects of similar types. Inheritance allows classes to acquire properties of other classes. Polymorphism means an operation can exhibit different behaviors depending on the data types used. Abstraction hides complexity and only represents essential features. Encapsulation binds data and methods into a single unit.
Object oriented programming is a modular approach to programming that treats data and functions that operate on that data as objects. The basic elements of OOP are objects, classes, and inheritance. Objects contain both data and functions that operate on that data. Classes are templates that define common properties and relationships between objects. Inheritance allows new classes to acquire properties of existing classes. OOP provides advantages like modularity, code reuse, and data abstraction.
This document provides information about an Object Oriented Programming course, including the class schedule, textbook, expectations, assignments, grading breakdown, and an introduction to OOP concepts. The class meets Monday, Wednesday, and Thursday each week at various times. Students are expected to be punctual, have at least 80% attendance, submit assignments on time, and attend all quizzes, which are unannounced. The textbook is Introduction to Java Programming by Y.Deniel Liang, and the grading includes quizzes, assignments, presentations, sessionals, and a final exam. An introduction to object-oriented programming concepts like objects, classes, inheritance, polymorphism, abstraction, and encapsulation is also provided.
Introduction to C++ : Object Oriented Technology, Advantages of OOP, Input- output in
C++, Tokens, Keywords, Identifiers, Data Types C++, Derives data types. The void data
type, Type Modifiers, Typecasting, Constant
Object And Oriented Programing ( Oop ) LanguagesJessica Deakin
The document discusses object-oriented programming (OOP) languages and provides examples to illustrate key concepts. It defines an object as something that can have features and behaviors. Features represent variables, while behaviors represent methods. A car object is used as an example, with features like speed and gear, and behaviors like changing gears and braking. The main features of OOP are identified as objects, classes, inheritance, abstraction, interfaces, encapsulation, polymorphism, and data abstraction. C++ is presented as an example of an OOP language that supports both procedural and object-oriented programming.
An overview of object oriented programming , definitions of class and objects, Encapsulation, data abstraction, inheritance, polymorphism and an easy coding example in C++. This presentation includes visual aids to make the concepts easier to understand.
This document provides an overview of object-oriented programming (OOP). It discusses procedural programming and how it differs from OOP. The main features/principles of OOP are data abstraction, inheritance, encapsulation, and polymorphism. Advantages of OOP include promoting code reuse and flexibility through polymorphism. Key terms are defined, including class, object, properties, and methods. A class defines the blueprint for an object, while an object is an instance of a class that occupies memory.
Object-oriented programming (OOP) is a programming model that organizes software design around objects rather than functions and logic. In OOP, a program is made up of objects that have attributes and behaviors. Classes define the structure and behavior of objects. Key concepts of OOP include encapsulation, inheritance, polymorphism, and classes. OOP focuses on data objects rather than procedures, making it well-suited for large, complex programs that require ongoing maintenance.
Object-oriented programming focuses on data. An object is a basic run-time entity. A class is also known as a user-defined data type. Inheritance provides the idea of reusability. Objects can communicate with each other through message passing. Polymorphism is achieved through operator overloading and function overloading.
This document provides an overview of Java programming basics. It discusses object-oriented programming concepts like classes, objects, inheritance, polymorphism and encapsulation. It also covers Java features like platform independence, security, simplicity and performance. Additionally, it describes Java programming fundamentals like variables, data types, operators, expressions and input/output. The document serves as an introduction to the Java language for beginners.
This document provides an introduction to object-oriented programming and Java. It discusses the basics of OOP concepts like classes, objects, encapsulation, inheritance, polymorphism and dynamic binding. It explains the benefits of OOP like modularity, code reuse and information hiding. The document also outlines some key features of the Java programming language like platform independence, security, simplicity and performance. It positions Java as a pure object-oriented language suitable for developing both standalone applications and web applets.
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
This document provides an overview of object-oriented programming concepts. It discusses procedural programming versus object-oriented programming. It then describes key characteristics of OOP like objects, classes, encapsulation, abstraction, inheritance, polymorphism, and message passing. Objects are runtime entities that have state and behavior. Classes provide blueprints for objects and define their properties and methods. Encapsulation hides implementation details, while abstraction exposes only necessary details. Inheritance allows classes to inherit properties from other classes. Polymorphism allows the same method name to perform different tasks. Message passing allows objects to communicate by sending and receiving messages.
The document discusses procedural programming and object-oriented programming. Procedural programming focuses on functions and steps, while object-oriented programming focuses more on modeling real-world objects and their properties and interactions. Key concepts discussed for object-oriented programming include objects, classes, abstraction, encapsulation, inheritance, and polymorphism. Visual programming is also introduced, which allows creating graphical user interfaces visually rather than through code.
This document discusses the basic features of object-oriented programming (OOP) and Java. It defines OOP as a programming paradigm based on modeling real-world entities as objects that have attributes and behaviors. The key features of OOP discussed are: classes, objects, inheritance, polymorphism, abstraction, and encapsulation. Classes are logical entities that define objects of similar types. Inheritance allows classes to acquire properties of other classes. Polymorphism means an operation can exhibit different behaviors depending on the data types used. Abstraction hides complexity and only represents essential features. Encapsulation binds data and methods into a single unit.
Object oriented programming is a modular approach to programming that treats data and functions that operate on that data as objects. The basic elements of OOP are objects, classes, and inheritance. Objects contain both data and functions that operate on that data. Classes are templates that define common properties and relationships between objects. Inheritance allows new classes to acquire properties of existing classes. OOP provides advantages like modularity, code reuse, and data abstraction.
This document provides information about an Object Oriented Programming course, including the class schedule, textbook, expectations, assignments, grading breakdown, and an introduction to OOP concepts. The class meets Monday, Wednesday, and Thursday each week at various times. Students are expected to be punctual, have at least 80% attendance, submit assignments on time, and attend all quizzes, which are unannounced. The textbook is Introduction to Java Programming by Y.Deniel Liang, and the grading includes quizzes, assignments, presentations, sessionals, and a final exam. An introduction to object-oriented programming concepts like objects, classes, inheritance, polymorphism, abstraction, and encapsulation is also provided.
Introduction to C++ : Object Oriented Technology, Advantages of OOP, Input- output in
C++, Tokens, Keywords, Identifiers, Data Types C++, Derives data types. The void data
type, Type Modifiers, Typecasting, Constant
Object And Oriented Programing ( Oop ) LanguagesJessica Deakin
The document discusses object-oriented programming (OOP) languages and provides examples to illustrate key concepts. It defines an object as something that can have features and behaviors. Features represent variables, while behaviors represent methods. A car object is used as an example, with features like speed and gear, and behaviors like changing gears and braking. The main features of OOP are identified as objects, classes, inheritance, abstraction, interfaces, encapsulation, polymorphism, and data abstraction. C++ is presented as an example of an OOP language that supports both procedural and object-oriented programming.
An overview of object oriented programming , definitions of class and objects, Encapsulation, data abstraction, inheritance, polymorphism and an easy coding example in C++. This presentation includes visual aids to make the concepts easier to understand.
This document provides an overview of object-oriented programming (OOP). It discusses procedural programming and how it differs from OOP. The main features/principles of OOP are data abstraction, inheritance, encapsulation, and polymorphism. Advantages of OOP include promoting code reuse and flexibility through polymorphism. Key terms are defined, including class, object, properties, and methods. A class defines the blueprint for an object, while an object is an instance of a class that occupies memory.
Object-oriented programming (OOP) is a programming model that organizes software design around objects rather than functions and logic. In OOP, a program is made up of objects that have attributes and behaviors. Classes define the structure and behavior of objects. Key concepts of OOP include encapsulation, inheritance, polymorphism, and classes. OOP focuses on data objects rather than procedures, making it well-suited for large, complex programs that require ongoing maintenance.
Object-oriented programming focuses on data. An object is a basic run-time entity. A class is also known as a user-defined data type. Inheritance provides the idea of reusability. Objects can communicate with each other through message passing. Polymorphism is achieved through operator overloading and function overloading.
This document provides an overview of Java programming basics. It discusses object-oriented programming concepts like classes, objects, inheritance, polymorphism and encapsulation. It also covers Java features like platform independence, security, simplicity and performance. Additionally, it describes Java programming fundamentals like variables, data types, operators, expressions and input/output. The document serves as an introduction to the Java language for beginners.
This document provides an introduction to object-oriented programming and Java. It discusses the basics of OOP concepts like classes, objects, encapsulation, inheritance, polymorphism and dynamic binding. It explains the benefits of OOP like modularity, code reuse and information hiding. The document also outlines some key features of the Java programming language like platform independence, security, simplicity and performance. It positions Java as a pure object-oriented language suitable for developing both standalone applications and web applets.
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
Developing Schemas with FME and Excel - Peak of Data & AI 2025Safe Software
When working with other team members who may not know the Esri GIS platform or may not be database professionals; discussing schema development or changes can be difficult. I have been using Excel to help illustrate and discuss schema design/changes during meetings and it has proven a useful tool to help illustrate how a schema will be built. With just a few extra columns, that Excel file can be sent to FME to create new feature classes/tables. This presentation will go thru the steps needed to accomplish this task and provide some lessons learned and tips/tricks that I use to speed the process.
AI Agents in Logistics and Supply Chain Applications Benefits and ImplementationChristine Shepherd
AI agents are reshaping logistics and supply chain operations by enabling automation, predictive insights, and real-time decision-making across key functions such as demand forecasting, inventory management, procurement, transportation, and warehouse operations. Powered by technologies like machine learning, NLP, computer vision, and robotic process automation, these agents deliver significant benefits including cost reduction, improved efficiency, greater visibility, and enhanced adaptability to market changes. While practical use cases show measurable gains in areas like dynamic routing and real-time inventory tracking, successful implementation requires careful integration with existing systems, quality data, and strategic scaling. Despite challenges such as data integration and change management, AI agents offer a strong competitive edge, with widespread industry adoption expected by 2025.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2025/06/solving-tomorrows-ai-problems-today-with-cadences-newest-processor-a-presentation-from-cadence/
Amol Borkar, Product Marketing Director at Cadence, presents the “Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor” tutorial at the May 2025 Embedded Vision Summit.
Artificial Intelligence is rapidly integrating into every aspect of technology. While the neural processing unit (NPU) often receives the majority of the spotlight as the ultimate AI problem solver, it is essential to recognize that not all AI workloads can be efficiently executed on an NPU and that neural network architectures are evolving rapidly. To create efficient chips and systems with market longevity, designers must plan for diverse AI workloads that include networks yet to be invented.
In this presentation, Borkar introduces a new processor from Cadence Tensilica. This new solution is designed to complement any NPU, creating the perfect synergy between the two processing engines and establishing a robust AI subsystem able to efficiently support workloads yet to be encountered. This combination allows developers to achieve efficiency and performance on the AI workloads of today and tomorrow, paving the way for future innovations in AI-powered devices.
Artificial Intelligence in the Nonprofit Boardroom.pdfOnBoard
OnBoard recently partnered with Microsoft Tech for Social Impact on the AI in the Nonprofit Boardroom Survey, an initiative designed to uncover the current and future role of artificial intelligence in nonprofit governance.
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Safe Software
Jacobs has developed a 3D utility solids modelling workflow to improve the integration of utility data into 3D Building Information Modeling (BIM) environments. This workflow, a collaborative effort between the New Zealand Geospatial Team and the Australian Data Capture Team, employs FME to convert 2D utility data into detailed 3D representations, supporting enhanced spatial analysis and clash detection.
To enable the automation of this process, Jacobs has also developed a survey data standard that standardizes the capture of existing utilities. This standard ensures consistency in data collection, forming the foundation for the subsequent automated validation and modelling steps. The workflow begins with the acquisition of utility survey data, including attributes such as location, depth, diameter, and material of utility assets like pipes and manholes. This data is validated through a custom-built tool that ensures completeness and logical consistency, including checks for proper connectivity between network components. Following validation, the data is processed using an automated modelling tool to generate 3D solids from 2D geometric representations. These solids are then integrated into BIM models to facilitate compatibility with 3D workflows and enable detailed spatial analyses.
The workflow contributes to improved spatial understanding by visualizing the relationships between utilities and other infrastructure elements. The automation of validation and modeling processes ensures consistent and accurate outputs, minimizing errors and increasing workflow efficiency.
This methodology highlights the application of FME in addressing challenges associated with geospatial data transformation and demonstrates its utility in enhancing data integration within BIM frameworks. By enabling accurate 3D representation of utility networks, the workflow supports improved design collaboration and decision-making in complex infrastructure projects
Kubernetes Security Act Now Before It’s Too LateMichael Furman
In today's cloud-native landscape, Kubernetes has become the de facto standard for orchestrating containerized applications, but its inherent complexity introduces unique security challenges. Are you one YAML away from disaster?
This presentation, "Kubernetes Security: Act Now Before It’s Too Late," is your essential guide to understanding and mitigating the critical security risks within your Kubernetes environments. This presentation dives deep into the OWASP Kubernetes Top Ten, providing actionable insights to harden your clusters.
We will cover:
The fundamental architecture of Kubernetes and why its security is paramount.
In-depth strategies for protecting your Kubernetes Control Plane, including kube-apiserver and etcd.
Crucial best practices for securing your workloads and nodes, covering topics like privileged containers, root filesystem security, and the essential role of Pod Security Admission.
Don't wait for a breach. Learn how to identify, prevent, and respond to Kubernetes security threats effectively.
It's time to act now before it's too late!
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMAnchore
Over 70% of any given software application consumes open source software (most likely not even from the original source) and only 15% of organizations feel confident in their risk management practices.
With the newly announced Anchore SBOM feature, teams can start safely consuming OSS while mitigating security and compliance risks. Learn how to import SBOMs in industry-standard formats (SPDX, CycloneDX, Syft), validate their integrity, and proactively address vulnerabilities within your software ecosystem.
מכונת קנטים המתאימה לנגריות קטנות או גדולות (כמכונת גיבוי).
מדביקה קנטים מגליל או פסים, עד עובי קנט – 3 מ"מ ועובי חומר עד 40 מ"מ. בקר ממוחשב המתריע על תקלות, ומנועים מאסיביים תעשייתיים כמו במכונות הגדולות.
Mastering AI Workflows with FME - Peak of Data & AI 2025Safe Software
Harness the full potential of AI with FME: From creating high-quality training data to optimizing models and utilizing results, FME supports every step of your AI workflow. Seamlessly integrate a wide range of models, including those for data enhancement, forecasting, image and object recognition, and large language models. Customize AI models to meet your exact needs with FME’s powerful tools for training, optimization, and seamless integration
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...Safe Software
The National Fuels Treatments Initiative (NFT) is transforming wildfire mitigation by creating a standardized map of nationwide fuels treatment locations across all land ownerships in the United States. While existing state and federal systems capture this data in diverse formats, NFT bridges these gaps, delivering the first truly integrated national view. This dataset will be used to measure the implementation of the National Cohesive Wildland Strategy and demonstrate the positive impact of collective investments in hazardous fuels reduction nationwide. In Phase 1, we developed an ETL pipeline template in FME Form, leveraging a schema-agnostic workflow with dynamic feature handling intended for fast roll-out and light maintenance. This was key as the initiative scaled from a few to over fifty contributors nationwide. By directly pulling from agency data stores, oftentimes ArcGIS Feature Services, NFT preserves existing structures, minimizing preparation needs. External mapping tables ensure consistent attribute and domain alignment, while robust change detection processes keep data current and actionable. Now in Phase 2, we’re migrating pipelines to FME Flow to take advantage of advanced scheduling, monitoring dashboards, and automated notifications to streamline operations. Join us to explore how this initiative exemplifies the power of technology, blending FME, ArcGIS Online, and AWS to solve a national business problem with a scalable, automated solution.
If You Use Databricks, You Definitely Need FMESafe Software
DataBricks makes it easy to use Apache Spark. It provides a platform with the potential to analyze and process huge volumes of data. Sounds awesome. The sales brochure reads as if it is a can-do-all data integration platform. Does it replace our beloved FME platform or does it provide opportunities for FME to shine? Challenge accepted
This OrionX's 14th semi-annual report on the state of the cryptocurrency mining market. The report focuses on Proof-of-Work cryptocurrencies since those use substantial supercomputer power to mint new coins and encode transactions on their blockchains. Only two make the cut this time, Bitcoin with $18 billion of annual economic value produced and Dogecoin with $1 billion. Bitcoin has now reached the Zettascale with typical hash rates of 0.9 Zettahashes per second. Bitcoin is powered by the world's largest decentralized supercomputer in a continuous winner take all lottery incentive network.
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Anish Kumar
Presented by: Anish Kumar
LinkedIn: https://www.linkedin.com/in/anishkumar/
This lightning talk dives into real-world GenAI projects that scaled from prototype to production using Databricks’ fully managed tools. Facing cost and time constraints, we leveraged four key Databricks features—Workflows, Model Serving, Serverless Compute, and Notebooks—to build an AI inference pipeline processing millions of documents (text and audiobooks).
This approach enables rapid experimentation, easy tuning of GenAI prompts and compute settings, seamless data iteration and efficient quality testing—allowing Data Scientists and Engineers to collaborate effectively. Learn how to design modular, parameterized notebooks that run concurrently, manage dependencies and accelerate AI-driven insights.
Whether you're optimizing AI inference, automating complex data workflows or architecting next-gen serverless AI systems, this session delivers actionable strategies to maximize performance while keeping costs low.
2. REFERENCE MATERIAL
Textbook:
C How to program by Paul Detiel and Harvey
Detial, Prentice Hall; 10th edition (March 4, 2017)
Reference Books:
The C++ Programming Language, 4th Edition by
Bjarne Stroustrup
The C++ Programming Language, 4th Edition 4th
Edition by Bjarne Stroustrup, Adison-Wesley
Professional
Jumping into C++ by Alex Allian,
Cprograming.com
3. WHAT IS OOP?
Object Oriented Programming is a programming
technique in which programs are written on basis
of objects.
Object is a collection of data and function
Object represent a person, place or thing in real
world.
In OOP data and all possible function on data are
grouped together.
4. WHAT IS OOP?
Object Oriented Programming is a programming
style that is associated with the concept of class,
Objects and various other concepts revolving
around these two, like inheritance,
polymorphism, abstraction, encapsulation.
5. EXAMPLE
A fork is an object with properties
a number of prongs
its size
material (made of plastic or metal), etc.
Behavior and functions of a fork include
Shredding
Squashing
Making design
Eating.
3
7. WHY OOP IS NECESSARY ?
The OOP (Object Oriented Programming)
approach is most commonly used approach now a
days.
OOP is being used for designing large and
complex applications.
The earlier approaches to programming were not
that good, and there were several limitations as
well.
8. EVOLUTION OF OO
PROGRAMING
These programming approaches have been
passing through revolutionary phases just like
computer hardware.
Machine
Language
Monolithic
Approach
Procedural
Approach
Structural
Approach
OOP
9. EVOLUTION OF OO
PROGRAMING
Machine Language
for designing small and simple programs
Monolithic Programming Approach
the program consists of sequence of statements that
modify data.
code is duplicated each time because there is no
support for the function.
data is not fully protected as it can be accessed from
any portion of the program.
programming languages include ASSEMBLY and
BASIC.
10. EVOLUTION OF OO
PROGRAMING
Procedural Programming Approach
Program is divided into functions that perform a
specific task.
Data is global and all the functions can access the
global data.
This approach avoids repetition of code which is the
main drawback of Monolithic Approach.
Enabled us to write larger and hundred lines of code
11. EVOLUTION OF OO
PROGRAMING
Structured Programming Approach
divide a program in functions and modules.
The use of modules and functions makes the program
more understandable.
It helps to write cleaner code and helps to maintain
control over each function.
Developed for designing medium sized programs.
The programming languages: PASCAL and C follow
this approach.
12. EVOLUTION OF OO
PROGRAMING
Object Oriented Programming Approach
The basic principal of the OOP approach is to
combine both data and functions so that both can
operate into a single unit. Such a unit is called an
Object.
This approach secures data also.
Now a days this approach is used mostly in
applications.
The programming languages: C++ and JAVA follow
this approach.
13. OBJECT ORIENTED DESIGN
Object-oriented design (OOD) is the process of
creating a software system or application
utilizing an object-oriented model.
This technique permits the creation of a software
solution based on object notion.
OOD is an implementation of the object-oriented
programming (OOP) paradigm.
14. OBJECT ORIENTED DESIGN
In the object-oriented design method, the system
is considered a collection of objects (i.e., entities).
The state is shared among the objects, and each
object is responsible for its own state data.
Similar objects form a class.
In other words, every object belongs to a class.
16. OBJECT ORIENTED DESIGN
Objects
An Object can be defined as an entity that has a state
and behavior, or in other words, anything that exists
physically in the world is called an object. It can
represent a dog, a person, a table, etc.
An object means the combination of data and
programs, which further represent an entity.
17. OBJECT ORIENTED DESIGN
Classes
Class can be defined as a blueprint of the individual
object, attribute and method.
Method
Function that describe behavior of class
Attribute
Define in class and represents state of object.
20. OBJECT ORIENTED DESIGN
Message
Objects communicate by passing messages.
Messages contain the name of the requested
operation, and any other action required to complete
the function.
Messages are frequently implemented through
function calls.
22. PRINCIPALS OF OOP
Encapsulation
The wrapping up of data and functions together in a
single unit is known as encapsulation.
All properties and methods of an object are kept
private and save from other object.
Encapsulation makes the data non-accessible to the
outside world.
24. PRINCIPALS OF OOP
Abstraction
Abstraction helps in the data hiding process.
It helps in displaying the essential features without
showing the details or the functionality to the user.
It avoids unnecessary information or irrelevant
details and shows only that specific part which the
user wants to see.
26. PRINCIPALS OF OOP
Inheritance
Inheritance is the process in which two classes have
an is-a relationship among each other and objects of
one class acquire properties and features of the other
class.
The class which inherits the features is known as the
child class, and the class whose features it inherited
is called the parent class.
For example, Class Vehicle is the parent class, and
Class Bus, Car, and Bike are child classes.
28. PRINCIPALS OF OOP
Polymorphism
Polymorphism means many forms.
It is a feature that provides a function or an operator
with more than one definition.
It can be implemented using function overloading,
operator overload, function overriding, virtual
function.
30. OBJECT-ORIENTED PROBLEM
SOLVING APPROACH
Object-oriented problem solving approach is very
similar to the way a human solves daily
problems. It consists of identifying objects and
how to use these objects in the correct sequence
to solve the problem.
31. OBJECT-ORIENTED PROBLEM
SOLVING APPROACH
In other words, object-oriented problem solving
can consist of designing objects whose behavior
solves a specific problem. A message to an object
causes it to perform its operations and solve its
part of the problem.
32. OBJECT-ORIENTED PROBLEM
SOLVING APPROACH
The object-oriented problem solving approach, in
general, can be divided into following steps. They
are:
1. Understanding the problem
2. Formulating a model
3. Developing an algorithm
4. Writing a subsequent program
5. Testing and improving the program
6. Evaluating the solution.
35. OBJECT-ORIENTED PROBLEM
SOLVING APPROACH
Developing an algorithm
grades_array = grades,
sum=0
for grade in grade array
add grades -> sum
average <- sum / length(grades_array)
37. OBJECT-ORIENTED PROBLEM
SOLVING APPROACH
Testing and improving the program
The program is tested against all kinds of
data including but not limited to corner
cases that may break the algorithm such
as the length of the array being returned
as 0.
39. PROS OF OOP
Secure
Reusability
High productivity
Reduce redundancy
Low-cost development
Easy to maintain and modify
Allows for parallel development.
40. DRAWBACKS OF OOP
Complexity
Hardware Constraints
Size is larger than other programs
It required a lot of effort to create
It is slower than other programs
It is not suitable for some sorts of problems
It takes time to get used to it.