The document discusses object-oriented analysis and design (OOAD) concepts including classes, objects, relationships, inheritance, polymorphism, and provides examples of class diagrams. It describes analyzing problems to discover classes and relationships, designing class structures and behaviors, and implementing classes in Java. The goal is to teach how to analyze problems, design OO solutions using classes and relationships, and implement them in Java.
The JDK (Java Development Kit) provides the environment for developing and running Java programs. It includes development tools and the JRE. The JRE (Java Runtime Environment) provides an environment for running Java programs but not developing them. It is used by end-users. The JVM (Java Virtual Machine) executes Java bytecode by interpreting and running Java programs line by line.
The document discusses key concepts in Object Oriented Programming (OOP) in Java including classes, objects, references, constructors, inheritance, abstraction, polymorphism, and generics. It defines classes as blueprints for objects, and objects as instances of classes that have state and behavior. Constructors are used to initialize new objects. Inheritance and abstraction allow classes to extend and implement other classes and interfaces. Polymorphism enables different classes to implement the same methods in different ways. Generics provide type safety for collections of objects.
This document provides an overview of object-oriented programming concepts including abstraction, encapsulation, classes, objects, methods, constructors, inheritance, polymorphism, and interfaces. It explains that classes act as blueprints for objects, describing their data and behaviors. Objects are instances of classes that have state stored in attributes and behaviors defined by methods. Key features of OOP like inheritance, encapsulation, and polymorphism are discussed at a high level.
The document outlines the content of a Core Java training course. It covers 21 sections that include introductions to Java programming, object-oriented programming concepts, data structures like arrays and strings, exception handling, input/output, databases, JDBC, multithreading, regular expressions, and the collections framework. Each section includes real-world practical exercises.
This document discusses classes and objects in Java. It defines classes as templates that group together instance variables and methods to represent real-world objects. Classes allow multiple objects to be created with the same properties and behaviors. The document uses examples like bank accounts and cars to demonstrate how objects have state stored in variables and expose behavior through methods. It also covers how to declare classes, create objects from classes, and call methods on objects.
This document discusses entity relationship modeling and business rules. It defines key concepts like cardinality constraints, participation constraints, and supertypes and subtypes. Cardinality constraints define the minimum and maximum number of relationships between entities, like one-to-one, one-to-many, and many-to-many. Participation constraints specify whether an entity's participation in a relationship is mandatory or optional. The document also explains how supertypes can be used to define common attributes that are inherited by subtypes in an entity relationship diagram.
This document discusses the basic concepts of object-oriented programming including objects, classes, encapsulation, inheritance, polymorphism, and abstraction. It notes the drawbacks of traditional programming and how object-oriented programming addresses these issues. It also describes Java as an object-oriented language, how Java code is executed by the Java Virtual Machine on different platforms, and provides a simple "Hello World" example as a first Java program.
It is a specialized case of ‘Abstraction’, such that it is a mechanism to hide irrelevant details of one object from another, while exposing only the relevant details that the other object might need. E.g. a Manager object may only be concerned with professional skills and availability timings of an employee, not his personal life details.
The JDK (Java Development Kit) provides the environment for developing and running Java programs. It includes development tools and the JRE. The JRE (Java Runtime Environment) provides an environment for running Java programs but not developing them. It is used by end-users. The JVM (Java Virtual Machine) executes Java bytecode by interpreting and running Java programs line by line.
The document discusses key concepts in Object Oriented Programming (OOP) in Java including classes, objects, references, constructors, inheritance, abstraction, polymorphism, and generics. It defines classes as blueprints for objects, and objects as instances of classes that have state and behavior. Constructors are used to initialize new objects. Inheritance and abstraction allow classes to extend and implement other classes and interfaces. Polymorphism enables different classes to implement the same methods in different ways. Generics provide type safety for collections of objects.
This document provides an overview of object-oriented programming concepts including abstraction, encapsulation, classes, objects, methods, constructors, inheritance, polymorphism, and interfaces. It explains that classes act as blueprints for objects, describing their data and behaviors. Objects are instances of classes that have state stored in attributes and behaviors defined by methods. Key features of OOP like inheritance, encapsulation, and polymorphism are discussed at a high level.
The document outlines the content of a Core Java training course. It covers 21 sections that include introductions to Java programming, object-oriented programming concepts, data structures like arrays and strings, exception handling, input/output, databases, JDBC, multithreading, regular expressions, and the collections framework. Each section includes real-world practical exercises.
This document discusses classes and objects in Java. It defines classes as templates that group together instance variables and methods to represent real-world objects. Classes allow multiple objects to be created with the same properties and behaviors. The document uses examples like bank accounts and cars to demonstrate how objects have state stored in variables and expose behavior through methods. It also covers how to declare classes, create objects from classes, and call methods on objects.
This document discusses entity relationship modeling and business rules. It defines key concepts like cardinality constraints, participation constraints, and supertypes and subtypes. Cardinality constraints define the minimum and maximum number of relationships between entities, like one-to-one, one-to-many, and many-to-many. Participation constraints specify whether an entity's participation in a relationship is mandatory or optional. The document also explains how supertypes can be used to define common attributes that are inherited by subtypes in an entity relationship diagram.
This document discusses the basic concepts of object-oriented programming including objects, classes, encapsulation, inheritance, polymorphism, and abstraction. It notes the drawbacks of traditional programming and how object-oriented programming addresses these issues. It also describes Java as an object-oriented language, how Java code is executed by the Java Virtual Machine on different platforms, and provides a simple "Hello World" example as a first Java program.
It is a specialized case of ‘Abstraction’, such that it is a mechanism to hide irrelevant details of one object from another, while exposing only the relevant details that the other object might need. E.g. a Manager object may only be concerned with professional skills and availability timings of an employee, not his personal life details.
The document provides an introduction to object-oriented analysis and design (OOAD) and object-oriented programming in Java, covering key concepts like classes, objects, relationships between classes, inheritance and polymorphism. It outlines the steps involved in analyzing a problem, designing an object-oriented solution using classes and relationships, and implementing the solution in Java. The goal is for readers to be able to apply an object-oriented approach to analyze problems, design solutions using classes and relationships, and code the solutions in Java.
Semantic web final assignment, We've used Sqvizler to build our own semantic web application. The application prototype was used to show the possibilites of finding all popular spots in the region of a university. The data which is used for this application comes from several datasources; respectively dbpedia.org, linkedgeodata.org and a local database with university information.
The document provides an overview of the Unified Modeling Language (UML). It discusses key UML concepts like object-orientation, use cases, class diagrams, and behavioral modeling. It also describes the main UML diagram types including use case diagrams, class diagrams, sequence diagrams, collaboration diagrams, statechart diagrams, activity diagrams, component diagrams, and deployment diagrams. The document serves as an introduction to UML modeling concepts, diagrams, and their uses in software development.
This presentation is about:
- Introduction to OWL
- OWL Basics
- Class Expression Axioms
- Property Axioms
- Assertions
- Class Expressions -Propositional Connectives and Enumeration of Individuals
- Class Expressions -Property Restrictions
- Class Expressions -Cardinality Restrictions
this slides describe similarities and difference between object based programming and object oriented programming
Class and Object.
Object- oriented Programming
Object based Programming
Object based vs. object-oriented programming
Std 12 computer chapter 6 object oriented concepts (part 1) by Nuzhat Memon
Introduction to class and object
Procedural (Structural) programming language
Object Oriented programming language
Two ways of programming language (POP and OOP)
four specific object properties
4 pillars of OOPs
Encapsulation in Java
Abstraction in Java
Messaging in Java
Polymorphism in Java
The document provides an overview of object-oriented programming (OOP) concepts including objects, classes, attributes, methods, encapsulation, inheritance, and polymorphism. It discusses how everything can be modeled as an object and defines an object as an instance of a class that has attributes and methods. A class is the blueprint for an object. The three main principles of OOP - encapsulation, inheritance, and polymorphism - are also summarized.
This document provides a syllabus for a Java Programming course. The course consists of 7 topics that will be covered through lectures and practical sessions over several weeks. Students will have one exam worth 100 marks and a practical exam worth 50 marks. They will also complete term work assignments worth 25 marks. The topics covered include Java fundamentals, classes, exception handling, IO packages, multi-threading, GUI, and database connectivity. Students will submit programming assignments related to these topics as part of their term work. References for the course are also provided.
The document provides an introduction to the Java programming language. It discusses Java's history and development. It describes key Java concepts like object-oriented programming, classes, objects, inheritance, polymorphism, and more. It also compares Java to C++ and outlines the typical Java development environment. The document includes a simple Java program example to demonstrate basic Java syntax.
This document introduces Java object-oriented programming concepts like class, object, abstraction, inheritance, polymorphism, and encapsulation. It provides examples and explanations of each concept. Key points include:
- A class is a blueprint that determines an object's behavior and attributes.
- An object is an instance of a class that stores data and methods.
- Abstraction hides unnecessary details and provides only essential functionality through abstract classes and interfaces.
- Inheritance allows classes to inherit properties from parent classes. There are different types of inheritance.
- Polymorphism enables one action to take different forms through method overloading and overriding.
- Encapsulation binds code and data together into a single unit to hide implementation
This document provides an overview of object-oriented programming (OOP) concepts. It defines OOP as a programming technique that uses objects and classes. Key concepts discussed include classes and objects, inheritance, data abstraction, encapsulation, and polymorphism. Benefits of OOP include reusability, extensibility, understandability and security. Inheritance allows reuse of existing classes, and can be single, multiple, public, protected or private. Data abstraction hides background details and provides essential information. Encapsulation binds data and functions that manipulate the data. Polymorphism enables different object types to respond to the same function name.
Lecture Notes by Mustafa Jarrar at Birzeit University, Palestine.
See the course webpage at: http://jarrar-courses.blogspot.com/2014/01/owl-web-ontology-language.html
and http://www.jarrar.info
you may also watch this lecture at: http://www.youtube.com/watch?v=5Kr4JzqDO_w
The lecture covers:
- Introduction to OWL
- OWL Basics
- Class Expression Axioms
- Property Axioms
- Assertions
- Class Expressions -Propositional Connectives and Enumeration of Individuals
- Class Expressions? -Property Restrictions
- Class Expressions? -Cardinality Restrictions
This document provides an introduction to object-oriented programming concepts in Java. It outlines the syllabus structure and covers key OOP principles like classes, objects, abstraction, inheritance, encapsulation, and polymorphism. It also discusses Java essentials such as the Java virtual machine and language features. Programming constructs in Java like variables, data types, operators, and flow control are reviewed. The document serves as an introductory guide to learning OOP with Java.
The document discusses object oriented analysis and design (OOAD). It provides an overview of key OO concepts like classes, objects, inheritance, aggregation, and polymorphism. It also explains the software development life cycle and how structured and object-oriented methodologies differ. Specific phases of development like requirements specification, system analysis, design, implementation, testing, and deployment are outlined.
This document summarizes key concepts from a lecture on object-oriented programming and design using Java. It defines classes and objects, and core OO principles like abstraction, encapsulation, inheritance and polymorphism. It provides examples of classes like Student and how they define state as variables and behavior as methods. Inheritance, association, aggregation and composition relationships between classes are also explained. The lecture introduces Unified Modeling Language (UML) diagrams for modeling object-oriented systems and Java concepts.
This document provides an overview of key object-oriented programming concepts in Java including classes, objects, encapsulation, inheritance, polymorphism, abstraction, interfaces, exception handling, and static methods. It includes examples of defining classes with properties and methods, creating objects, and using inheritance. Specific concepts like method overloading, overriding, and exception handling are demonstrated through code examples. The document also discusses data types, control statements, and static methods in Java.
Object relationship mapping and hibernateJoe Jacob
ORM stands for Object Relational Mapping and is a technique for mapping objects in an object-oriented programming language to tables in a relational database. The document discusses the various mismatches that exist between object-oriented programming and relational databases, and how ORM frameworks like Hibernate address these mismatches through object relational mapping. It also provides an overview of Hibernate - a popular Java ORM framework, and demonstrates how to configure Hibernate and perform basic CRUD operations using both XML configuration and Java annotations.
Course material from my Object-Oriented Development course. This presentation covers all the key concepts and terminology needed for success in object-oriented development.
This document provides a syllabus for a Java programming course including:
- 7 topics that will be covered ranging from Java fundamentals to database connectivity.
- A practical exam worth 50 marks involving 10 programming assignments.
- 12 programming assignments that will be completed as part of the term work.
- 4 references books that will be used for the course.
Data Structure Interview Questions & AnswersSatyam Jaiswal
Practice Best Data Structure Interview Questions & Answers for the best preparation of the Data Structure Interview. These Interview Questions are very popular and asked various times to Data Structure Interveiw.
This document outlines various screens involved in the user login and clock in process, including a pin entry screen, home screen, and menu screen after logging in. It references screens for entering a pin code to clock in, and moving to a home screen and additional menu screens once logged in.
Zong Telecommunication Android ApplicationMirza Adil
Zong Telecommunication has developed an Android application to provide their mobile services. The application allows users to check account balances, make payments, purchase bundles and track data usage on their Android devices. It provides a convenient mobile interface for interacting with Zong's telecom services from any Android smartphone.
The document provides an introduction to object-oriented analysis and design (OOAD) and object-oriented programming in Java, covering key concepts like classes, objects, relationships between classes, inheritance and polymorphism. It outlines the steps involved in analyzing a problem, designing an object-oriented solution using classes and relationships, and implementing the solution in Java. The goal is for readers to be able to apply an object-oriented approach to analyze problems, design solutions using classes and relationships, and code the solutions in Java.
Semantic web final assignment, We've used Sqvizler to build our own semantic web application. The application prototype was used to show the possibilites of finding all popular spots in the region of a university. The data which is used for this application comes from several datasources; respectively dbpedia.org, linkedgeodata.org and a local database with university information.
The document provides an overview of the Unified Modeling Language (UML). It discusses key UML concepts like object-orientation, use cases, class diagrams, and behavioral modeling. It also describes the main UML diagram types including use case diagrams, class diagrams, sequence diagrams, collaboration diagrams, statechart diagrams, activity diagrams, component diagrams, and deployment diagrams. The document serves as an introduction to UML modeling concepts, diagrams, and their uses in software development.
This presentation is about:
- Introduction to OWL
- OWL Basics
- Class Expression Axioms
- Property Axioms
- Assertions
- Class Expressions -Propositional Connectives and Enumeration of Individuals
- Class Expressions -Property Restrictions
- Class Expressions -Cardinality Restrictions
this slides describe similarities and difference between object based programming and object oriented programming
Class and Object.
Object- oriented Programming
Object based Programming
Object based vs. object-oriented programming
Std 12 computer chapter 6 object oriented concepts (part 1) by Nuzhat Memon
Introduction to class and object
Procedural (Structural) programming language
Object Oriented programming language
Two ways of programming language (POP and OOP)
four specific object properties
4 pillars of OOPs
Encapsulation in Java
Abstraction in Java
Messaging in Java
Polymorphism in Java
The document provides an overview of object-oriented programming (OOP) concepts including objects, classes, attributes, methods, encapsulation, inheritance, and polymorphism. It discusses how everything can be modeled as an object and defines an object as an instance of a class that has attributes and methods. A class is the blueprint for an object. The three main principles of OOP - encapsulation, inheritance, and polymorphism - are also summarized.
This document provides a syllabus for a Java Programming course. The course consists of 7 topics that will be covered through lectures and practical sessions over several weeks. Students will have one exam worth 100 marks and a practical exam worth 50 marks. They will also complete term work assignments worth 25 marks. The topics covered include Java fundamentals, classes, exception handling, IO packages, multi-threading, GUI, and database connectivity. Students will submit programming assignments related to these topics as part of their term work. References for the course are also provided.
The document provides an introduction to the Java programming language. It discusses Java's history and development. It describes key Java concepts like object-oriented programming, classes, objects, inheritance, polymorphism, and more. It also compares Java to C++ and outlines the typical Java development environment. The document includes a simple Java program example to demonstrate basic Java syntax.
This document introduces Java object-oriented programming concepts like class, object, abstraction, inheritance, polymorphism, and encapsulation. It provides examples and explanations of each concept. Key points include:
- A class is a blueprint that determines an object's behavior and attributes.
- An object is an instance of a class that stores data and methods.
- Abstraction hides unnecessary details and provides only essential functionality through abstract classes and interfaces.
- Inheritance allows classes to inherit properties from parent classes. There are different types of inheritance.
- Polymorphism enables one action to take different forms through method overloading and overriding.
- Encapsulation binds code and data together into a single unit to hide implementation
This document provides an overview of object-oriented programming (OOP) concepts. It defines OOP as a programming technique that uses objects and classes. Key concepts discussed include classes and objects, inheritance, data abstraction, encapsulation, and polymorphism. Benefits of OOP include reusability, extensibility, understandability and security. Inheritance allows reuse of existing classes, and can be single, multiple, public, protected or private. Data abstraction hides background details and provides essential information. Encapsulation binds data and functions that manipulate the data. Polymorphism enables different object types to respond to the same function name.
Lecture Notes by Mustafa Jarrar at Birzeit University, Palestine.
See the course webpage at: http://jarrar-courses.blogspot.com/2014/01/owl-web-ontology-language.html
and http://www.jarrar.info
you may also watch this lecture at: http://www.youtube.com/watch?v=5Kr4JzqDO_w
The lecture covers:
- Introduction to OWL
- OWL Basics
- Class Expression Axioms
- Property Axioms
- Assertions
- Class Expressions -Propositional Connectives and Enumeration of Individuals
- Class Expressions? -Property Restrictions
- Class Expressions? -Cardinality Restrictions
This document provides an introduction to object-oriented programming concepts in Java. It outlines the syllabus structure and covers key OOP principles like classes, objects, abstraction, inheritance, encapsulation, and polymorphism. It also discusses Java essentials such as the Java virtual machine and language features. Programming constructs in Java like variables, data types, operators, and flow control are reviewed. The document serves as an introductory guide to learning OOP with Java.
The document discusses object oriented analysis and design (OOAD). It provides an overview of key OO concepts like classes, objects, inheritance, aggregation, and polymorphism. It also explains the software development life cycle and how structured and object-oriented methodologies differ. Specific phases of development like requirements specification, system analysis, design, implementation, testing, and deployment are outlined.
This document summarizes key concepts from a lecture on object-oriented programming and design using Java. It defines classes and objects, and core OO principles like abstraction, encapsulation, inheritance and polymorphism. It provides examples of classes like Student and how they define state as variables and behavior as methods. Inheritance, association, aggregation and composition relationships between classes are also explained. The lecture introduces Unified Modeling Language (UML) diagrams for modeling object-oriented systems and Java concepts.
This document provides an overview of key object-oriented programming concepts in Java including classes, objects, encapsulation, inheritance, polymorphism, abstraction, interfaces, exception handling, and static methods. It includes examples of defining classes with properties and methods, creating objects, and using inheritance. Specific concepts like method overloading, overriding, and exception handling are demonstrated through code examples. The document also discusses data types, control statements, and static methods in Java.
Object relationship mapping and hibernateJoe Jacob
ORM stands for Object Relational Mapping and is a technique for mapping objects in an object-oriented programming language to tables in a relational database. The document discusses the various mismatches that exist between object-oriented programming and relational databases, and how ORM frameworks like Hibernate address these mismatches through object relational mapping. It also provides an overview of Hibernate - a popular Java ORM framework, and demonstrates how to configure Hibernate and perform basic CRUD operations using both XML configuration and Java annotations.
Course material from my Object-Oriented Development course. This presentation covers all the key concepts and terminology needed for success in object-oriented development.
This document provides a syllabus for a Java programming course including:
- 7 topics that will be covered ranging from Java fundamentals to database connectivity.
- A practical exam worth 50 marks involving 10 programming assignments.
- 12 programming assignments that will be completed as part of the term work.
- 4 references books that will be used for the course.
Data Structure Interview Questions & AnswersSatyam Jaiswal
Practice Best Data Structure Interview Questions & Answers for the best preparation of the Data Structure Interview. These Interview Questions are very popular and asked various times to Data Structure Interveiw.
This document outlines various screens involved in the user login and clock in process, including a pin entry screen, home screen, and menu screen after logging in. It references screens for entering a pin code to clock in, and moving to a home screen and additional menu screens once logged in.
Zong Telecommunication Android ApplicationMirza Adil
Zong Telecommunication has developed an Android application to provide their mobile services. The application allows users to check account balances, make payments, purchase bundles and track data usage on their Android devices. It provides a convenient mobile interface for interacting with Zong's telecom services from any Android smartphone.
This document outlines the various screens and responses that a user would see when interacting with a mobile application. It describes the main screen, application icon, login screen, new SIM sale screens including accurate and inaccurate fingerprint scans, SIM change screens, owner change screens, setting screens to update information and passwords, and forget password screens. Failure responses are provided for any processes that do not complete successfully.
The document summarizes highlights from JavaOne 2012. Some key points:
- The theme was "Make the Future Java" and focused on Java's continued role as a leading development platform.
- Speakers discussed upcoming Java 8 features like lambda expressions and better parallel libraries.
- Java EE 7 SDK is now available and Java EE 8 will focus on multitenancy, modularity, and cloud architecture.
- Winners of the 2012 Duke's Choice Awards for innovative Java projects were recognized.
- Project Sumatra was announced to enable Java applications to use GPUs for improved performance.
- The Community keynote reinforced that JavaOne is a community event, with panels on open innovation
This document provides details on implementing the Alcatel-Lucent Enterprise Virtual Desktop Solution using Citrix XenDesktop to deliver virtual desktops in an enterprise network environment. Key components of the solution include Citrix XenDesktop and XenApp for virtual desktop and application delivery, NetScaler for load balancing and optimization, and a NetApp storage solution. The solution aims to make desktop virtualization easier and more cost-effective for businesses by centralizing management of desktops and applications.
This document discusses OpenMeetings, an open source web conferencing software, and its integration with the Moodle learning management system. OpenMeetings allows for audio/video calls, screen sharing, whiteboarding, and file sharing. It can be used for virtual classrooms, webinars, and remote collaboration. The presentation demonstrates how to install OpenMeetings, its features, Moodle integration plugin, hosting options, costs, and system requirements. OpenMeetings is open source, customizable, and scalable to support hundreds of concurrent users on multiple servers.
This document discusses OpenMeetings, an open source web conferencing software, and its integration with Moodle. OpenMeetings allows for audio/video calls, screen sharing, whiteboarding, and file sharing. It can be used for virtual classrooms, webinars, and remote collaboration. The presentation demonstrates how to install OpenMeetings, its features, and how it integrates as a plugin within Moodle courses to add virtual conference rooms. Future plans are discussed, including improved moderation for large webinars. Costs for basic installation, integration, customization services are provided.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
2. Introduction
OOAD: object-oriented analysis and design
Class and object concepts
Discovering classes
CRC card
Word problem to classes
Classes and relationships
Inheritance and polymorphism
OOP: Object-oriented programming in Java
At the end of this class you should be able to analyze
a problem, design a OO solution and implement it in
Java programming language
4/14/2013 Mirza Adil 2
3. Object-Oriented Principles
OOP
Inheritance Polymorphism
Encapsulation -- Many forms of
-- Hierarchy
(class concept) same function
-- Reusability
-- Information Hiding -- Abstract Methods
-- Extensibility
-- Interface and -- Abstract Classes
-- Expressive power
Implementations
-- Reflects many
-- Standardization
real-world problems
-- Access Control mechanisms
(private /public etc.)
4/14/2013 Mirza Adil 3
4. What is an Object?
Object-oriented programming supports the view that programs
are composed of objects that interact with one another.
How would you describe an object?
Using its characteristics (has a ----?) and its behaviors (can do --
--?)
Object must have unique identity (name) : Basketball, Blue ball
Consider a ball:
Color and diameter are characteristics (Data Declarations)
throw, bounce, roll are behaviors (Methods)
4/14/2013 Mirza Adil 4
5. Classes are Blueprints
A class defines the general nature of a
collection of objects of the same type.
The process creating an object from a class is
called instantiation.
Every object is an instance of a particular
class.
There can be many instances of objects from
the same class possible with different values
for data.
4/14/2013 Mirza Adil 5
6. Example
objects
Object
References
redRose
class Rose
blueRose
class
4/14/2013 Mirza Adil 6
7. Inheritance Hierarchy
Food Hierarchy
Foo d
eat( )
IceCream Spagh etti Pi zza
eat( ) eat( ) eat( )
eat() is an example of polymorphic operation.
Obj ect (Java) Object Hierarchy
equ al s( ) equals(), clone() and toString()
tostri ng ( )
cl one( )
illustrate sub-type polymorphism
Sal ary Autom obi l e Fam i l yT ree
equ al s( ) equ al s( ) equ al s( )
toStri n g( ) cl one( ) toStri n g( )
cl one( ) toStri n g( ) cl one( )
4/14/2013 Mirza Adil 7
8. Polymorphism (subtype)
Consider a class Food. What can you do with
Food? What does it have?
Consider specific food items Ice Cream,
Spaghetti and Pizza. How will you eat these?
(Invoke eat() operation on objects of these
classes)?
eat() operation is polymorphically invoked
depending on the type of the item it is
invoked on.
4/14/2013 Mirza Adil 8
9. Requirements and Analysis
Methods
See the description of a library management system
(LMS) from Hwk1, a copy of which is attached.
We will follow these steps:
Functional requirements represented by Use Case
Diagrams
Classes discovered using CRC cards
Static Analysis represented by class diagrams
Dynamic Analysis by a variety of interaction
diagrams (inter-class) and state diagram (intra-
class).
Component diagram showing the various modules.
Deployment diagram showing the platforms and
machines used.
4/14/2013 Mirza Adil 9
10. Use-case Analysis
Use case analysis involves reading and
analyzing the specifications, as well as
discussing the system with potential users of
the system.
Actors of the LMS are identified as the
librarians and borrowers.
Librarians directly interact with the system
whereas borrowers interact with the system
through the librarian.
4/14/2013 Mirza Adil 10
11. Use-case Diagram For
Borrower
Borrower
(from Logical Vi ew)
makeReservation
<<uses>>
removeReservation
borrowItem
returnItem
4/14/2013 Mirza Adil 11
12. Use-case Diagram for
Librarian
addT itle
Librarian
rem oveUpdateT itle
addItem
rem oveUpdateItem
addBorrower
4/14/2013 B.Ramamurthy rem oveUpdateBorrower
12
13. Use Cases For Borrower and
Librarian
Use cases for the borrower:
Borrow item
Return item
Make reservation
Remove reservation
Use cases for the librarian:
Add title, Update or remove title
Add borrower, Update or remove borrower
Add item, Update or remove item
Note 1: A title may have many items: A book may have many
copies.
Note 2: Titles may be book or magazine titles
Note 3: Persistence: All use cases involve database access
4/14/2013 B.Ramamurthy 13
14. Use-case Descriptions
Use Case: Lend Item
Pre-condition: Item may or may be reserved
Post-condition: Borrower gets Item. Database updated.
Exceptions: Title not avail, Item not avail
Actions: Case 1. If borrower has not reserved the item:
a. A title is identified
b. An available item of the title is identified
c. The borrower is identified
d. The item is borrowed(transaction)
c. A new loan (transaction) is registered.
Case 2. If the borrower has a reservation for the item:
a. The borrower is identified
b. The item is borrowed
c. New loan is registered
d. reservation is removed.
4/14/2013 Mirza Adil 14
15. CRC Card Example
Weather Station Collaborations
User Interface(UI)
Responsibilities
Date
1. Select 24hr/Current Time
2. Set Date Time Temp
3. Display Current Wind
1. Temp(T) Pressure
2. Wind (W) Humidity
3. Pressure (P)
4. Humidity (H)
4. Display 24hours
1. Hi/Lo for (TWPH)
5. Display Trends in TWPH
6. Calibrate Calibrator
4/14/2013 Mirza Adil 15
16. CRC Card: UserInterface
UserInterface Collaborators
Responsibilities Keypad
Display
1. Input date
2. Input time Temp
3. Input selection Wind
4. Display data Pressure
Humidity
4/14/2013 Mirza Adil 16
17. CRC Card: Keypad
Keypad Collaborators
Date
Responsibilities
Time
1. Store date
2. Store time Selection
3. Store selection
4/14/2013 Mirza Adil 17
18. CRC Card: Temperature
Temperature Collaborations
Responsibilities T.Device
1. Measure and Record temperature StatDataBase
2. Determine and record Hi/Lo
3. Determine trend Date
Time
4/14/2013 Mirza Adil 18
19. Class Discovery
The entries in the collaborations column are
possible classes or non-software entities.
In this case these are: UserInterface, Display,
Tempertaure, Wind, Pressure, Humidity,
StatDataBase, Selection, Date, Time, Keypad,
Callibrator.
The responsibility of designing one or more of
these classes can be assigned to the
members of the group who participated in
this discovery process.
On to relations among classes and class
diagrams.
4/14/2013 Mirza Adil 19
20. Classes
OO paradigm supports the view that a system
is made up of objects interacting by message
passing.
Classes represent collection of objects of the
same type.
An object is an instance of a class.
A class is defined by its properties and its
behaviors.
A class diagram describes the static view of a
system in terms of classes and relationships
among the classes.
4/14/2013 Mirza Adil 20
21. Discovering Classes
(Alternative)
Underline the nouns in a problem statement.
Using the problem context and general
knowledge about the problem domain decide
on the important nouns.
Design and implement classes to represent
the nouns.
Underline the verbs. Verbs related to a class
may represent the behavior of the class.
4/14/2013 Mirza Adil 21
22. Examples
Drawing package: Design a user interface for
drawing various shapes: circle, square,
rectangle.
Football scores: Keep track of football score.
General purpose counter: To keep of track of
count for various applications.
Library: Books, different categories of books,
details of student borrower, library
personnel.
4/14/2013 Mirza Adil 22
23. Designing Classes (Take 2)
A class represents a class of objects.
A class contains the data declarations (“parts”) and
methods (“behaviors” or “capabilities” ).
OO Design:
Class properties or characteristics are answers to “What is
it made of?” (It has a ____, ____, etc.)
Behaviors, capabilities or operations are answers to “What
can it do?” (verbs in the problem)
4/14/2013 Mirza Adil 23
24. Classes are Blueprints
(Take 2)
A class defines the general nature of a collection of
objects of the same type.
The process creating an object from a class is called
instantiation.
Every object is an instance of a particular class.
There can be many instances of objects from the
same class possible with different values for data.
A class structure implements encapsulation as well as
access control: private, public, protected.
4/14/2013 Mirza Adil 24
25. Example (Take 2)
objects
Object
References
redRose
class Rose
blueRose
class
4/14/2013 Mirza Adil 25
27. Automobile Class Using
Rational Rose Tool
Automobile
seat
seatBelt
acceleratorPedal
sparkPlugs
gear
gloveCompartment
startEngine( )
brake( )
transmission( )
fuelInjection( )
4/14/2013 Mirza Adil 27
28. Access Control
Public, protected, private
Public properties and behaviors are available
to any other object to use/invoke
Private: available only within the objects.
Protected: available within the objects and to
the class hierarchy inherited from the class.
(We will discuss more about this when
dealing with OO concept Inheritance.)
4/14/2013 Mirza Adil` 28
29. Relationships
Typically an application consists of
many related classes.
Commonly used relationships include:
associations, aggregations, and
generalizations.
4/14/2013 Mirza Adil 29
30. Association
An association is a connection between
classes, a semantic connection between
objects of classes involved in the association.
Association typically represents “has a” or
“uses” relationships.
Indicated by a line,
sometimes with arrow indicating unidirectional
relationship,
adorned by the name of the relation, and
the ends of the line adorned by cardinality of
relationship and optionally by the roles connected
to each class.
4/14/2013 Mirza Adil 30
31. Association : Examples
Uses
Person Computer
A person uses a computer.
Owns
Person 0..* Car
A person may own many (zero..many) cars.
4/14/2013 Mirza Adil 31
32. Roles in Association
drives
Person Car
driver company car
A person (driver) drives a (company) car.
wife
Person
husband
married to
4/14/2013 Mirza Adil 32
33. Aggregation
Aggregation represents a relation
“contains”, “is a part of”, “whole-part”
relation.
Indicated by a line adorned on the
“whole” by a hollow diamond
Along with name of relationship and
Cardinality.
4/14/2013 Mirza Adil 33
34. Aggregation: Example
contains
League Team
*
Membership aggregation: A league is made up of
Many teams.
4 wheel
made of
Auto engine Strong aggregation.
1
*
part
4/14/2013 Mirza Adil 34
35. Generalization
Generalization is a relationship between a
general and a specific class.
The specific class called the subclass inherits
from the general class, called the superclass.
Public and protected properties (attributes)
and behaviors (operations) are inherited.
Design representation “inheritance” OO
concept.
4/14/2013 Mirza Adil 35
36. Generalization: Symbol
It represents “is a” relationship among
classes and objects.
Represented by a line with an hollow
arrow head pointing to the superclass
at the superclass end.
4/14/2013 Mirza Adil 36
38. Combined Example
drives
Person 0..* Vehicle
Car Boat Truck
4/14/2013 Mirza Adil 38
39. Discovering Classes
Library Management System (LMS)
RESPONSIBILITIES COLLABORATIONS
1. Borrow item Item
2. Reserve item
3. Return item
4. Remove reservation Reservation
5. Add borrower Borrower
6. Update or remove borrower
7. Add title (book or magazine) Title
8. Update or remove title Book Title
9. Add item Magazine Title
10. Update or remove item
11. Store loan details
Loan (Transaction)
Database
4/14/2013 Mirza Adil 39
40. CRC Cards
LMS
(Librarian)
Borrower
Title: Book Title, Magazine Title
Item
Reservation
Transaction (Loan)
Database for storage
4/14/2013 Mirza Adil 40
41. Static Analysis: Initial Class
Diagram
Item Title
0..*
0..1 0..*
BookTitle MagazineTitle
LoanTransaction Reservation
0..* 0..*
Objects of these
classes are all
persistent data (in
Borrow er a Database)
4/14/2013 Mirza Adil 41
42. Dynamic Analysis
“Borrow Item” use case using Sequence
Diagram
“Add Title” use case using Collaboration
diagram
“Add Item” using Activity diagram
“Reservation” state diagram
4/14/2013 Mirza Adil 42
44. Add Title: Collaboration Diagram
Assuming that
add title implies
addi ng an item
1: create ( )
3: addItem ( )
name, ISBN
id Objid
: Title
: Librarian 2: setItem ( )
ObjId,id
titleObj
: Item
4: storeTi tle ( )
itemObj
5: storeItem ( )
DB : DB
4/14/2013 Mirza Adil 44
45. Add Item: Activity Diagram
Title Item Database
createItem
setItem
addToTitle updateDatabase
4/14/2013 Mirza Adil 45
46. Component Diagram
Business Package
+ Item
+ Loan
+ Title
+ Borrower inf ormation
+ Book Title
+ Reserv ation
+ Magazine Title
GUI Package
+ Lend Window
+ Return Window
+ Reserv ation Window
+ Maintenance Window
4/14/2013 Mirza Adil 46
47. Analysis, Design
Implementation/programming
What is the deliverable at the end of
the analysis and design phase?
One or more class diagrams showing
the classes and the relationships that
define the OOD.
On to OOP: Object-oriented
programming.
4/14/2013 Mirza Adil 47
48. Problem Solving Using Java
OO Design and Progamming in Java
Write an
Identify classes needed Write an applet
application class
class
Reuse API Reuse Design new Create and use objects
classes your classes classes
4/14/2013 Mirza Adil 48
49. Instantiation :
Examples
class FordCar ---- defines a class name FordCar
FordCar windstar; ---- defines a Object reference windStar
windstar = new FordCar(); ---- instantiates a windstar
Object
class HousePlan1 { color….
HousePlan1 blueHouse;
blueHouse = new HousePlan1(BLUE);
HousePlan1 greenHouse = new HousePlan1(GREEN);
4/14/2013 Mirza Adil 49
50. Operator new and “dot”
new operator creates a object and
returns a reference to that object.
After an object has been instantiated,
you can use dot operator to access its
methods and data declarations (if you
have access permissions).
EX: redRose.bloom(); greenHouse.color
4/14/2013 Mirza Adil 50
51. Elements of a Class
class
methods data declarations (variables,
header constants)
body
header
modifiers, variables, statements
parameters
type, name constants
selection repetition others
assignment
4/14/2013 Mirza Adil 51
52. Class Structure
class
variables
constants
methods
4/14/2013 Mirza Adil 52
53. Defining Classes
Syntax:
class class_name {
data-declarations
constructors
methods }
Constructors are special methods used for
instantiating (or creating) objects from a
class.
Data declarations are implemented using
variable and constant declarations.
4/14/2013 Mirza Adil 53
54. Naming Convention
Constants: All characters in uppercase, words
in the identifier separated by underscore: EX:
MAX_NUM
Variables, objects, methods: First word all
lowercase, subsequent words start with
uppercase. EX: nextInt, myPen, readInt()
Classes: Start with an uppercase letter. EX:
Tree, Car, System , Math
Packages: are formed by set of related
classes and packages.
4/14/2013 Mirza Adil 54
55. A complete example
Problem Statement: You have been
hired to assist in an secret encryption
project. In this project each message
(string) sent out is attached to a
randomly generated secret code
(integer) between 1 and 999. Design
and develop an application program in
Java to carry out this project.
4/14/2013 Mirza Adil 55
56. Identify Objects
There are two central objects:
Message
Secret code
Is there any class predefined in JAVA
API that can be associated with these
objects? Yes ,
“string” of java.lang and “Random” of
java.util
4/14/2013 Mirza Adil 56
57. The Random class
Random class is defined in java.util
package.
nextInt() method of Random class
returns an integer between 0 and
MAXINT of the system.
4/14/2013 Mirza Adil 57
58. Design
Class String Class Random
An instance of Random
An instance of string number generator
Input and fill up message. Generate Random integer
Attach (concatenate)
Output combined message.
Lets look at an implementation.
4/14/2013 Mirza Adil 58
59. Debugging and Testing
Compile-time Errors : Usually typos or syntax errors
Run-time Errors : Occurs during execution. Example:
divide by zero .
Logic Errors: Software will compile and execute with
no problem, but will not produce expected results.
(Solution: testing and correction)
See /projects/bina/java/Peets directory for an
exercise.
4/14/2013 Mirza Adil 59
60. Class Components
Class name (starts with uppercase),
constants, instance variables,
constructors definitions and method
definitions.
Constants:
public final static double PI = 3.14;
Variables:
private double bonus;
public string name;
4/14/2013 Mirza Adil 60
61. Method Invocation/Call
Syntax:
method_name (values);
object_name.method_name(values);
classname.method_name(values);
Examples:
computeSum(); // call to method from within the
class where it is located
YourRose.paintIt(Red);
Math.abs(X);
4/14/2013 Mirza Adil 61
62. Defining Methods
A method is group of (related)
statements that carry out a specified
function.
A method is associated with a particular
class and it specifies a behavior or
functionality of the class.
A method definition specifies the code
to be executed when the method is
invoked/activated/called.
4/14/2013 Mirza Adil 62
64. Return Type
can be void, type or class identifier
void indicates that the method called to
perform an action in a self-standing
way: Example: println
type or class specify the value returned
using a return statement inside the
method.
4/14/2013 Mirza Adil 64
65. Return Statement
Syntax of return statement:
return; // for void methods
return expression; // for type or class
return value
// the expression type and return type
should be same
4/14/2013 Mirza Adil 65
66. Parameter List
Parameter list specified in method header provides a
mechanism for sending information to a method.
It is powerful mechanism for specializing an object.
The parameter list that appears in the header of a
method
specifies the type and name of each parameter
and
is called formal parameter list.
The corresponding parameter list in the method
invocation is called an actual parameter list.
4/14/2013 Mirza Adil 66
67. Parameter list : Syntax
Formal parameter list: This is like molds or
templates
(parm_type parm_name, parm_type parm_name, ....)
Actual parameter list: This is like material that fit
into the mold or template specified in the formal
list:
(expression, expression....)
4/14/2013 Mirza Adil 67
68. Method Definition : review
definition
header
body
Visibility
modifiers
parameter list
return type Name
{ statements }
4/14/2013 Mirza Adil 68
69. Method Definition : Example
Write a method that computes and
returns the perimeter of a rectangle
class.
Analysis:
Send to the method: Length and Width
Compute inside the method: Perimeter
Return from the method: Perimeter
4/14/2013 Mirza Adil 69
70. ...Example (contd.)
public int Perimeter (int Length, int Width)
{
int Temp; // local temporary variable
Temp = 2 * (Length + Width); // compute
perimeter
return Temp; // return computed value
}
4/14/2013 Mirza Adil 70
71. What happens when a method
is called?
Control is transferred to the method
called and execution continues inside
the method.
Control is transferred back to the caller
when a return statement is executed
inside the method.
4/14/2013 Mirza Adil 71
72. Method Invocation : semantics
Operating
System
1 1. OS to main method
2 2. Main method execution
Main method 3. Invoke Area
Rect.Area(….)
8 4. Transfer control to Area
3 5. Execute Area method
7 6. Return control back to
4 main method
8
7. Resume executing main
8. Exit to OS
Area
5 method 6
4/14/2013 Mirza Adil 72
73. Constructors
A Constructor is used to create or instantiate
an object from the class.
Constructor is a special method:
It has the same name as the class.
It has no return type or return statement.
Typically a class has more than one
constructor: a default constructor which has
no parameters, and other constructors with
parameters.
4/14/2013 Mirza Adil 73
74. Constructors (contd.)
You don’t have to define a constructor if you need
only a default constructor.
When you want initializing constructors :
1. you must include a default constructor in this case.
2. You will use initializing constructors when you want
the object to start with a specific initial state rather
than as default state.
3. Example: Car myCar(Red); // initializing constructor
for Car class with color as parameter
4/14/2013 Mirza Adil 74
75. Visibility Modifiers
type Method/variable name
public protected
“nothing”
DEFAULT private
static “nothing”
DEFAULT
To indicate
class method/
To indicate
variable
object
method/
variable
4/14/2013 Mirza Adil 75
76. ..Modifiers (contd.)
private : available only within class
“nothing” specified : DEFAULT: within
class and within package
protected : within inherited hierarchy
(only to sub classes)
public : available to any class.
4/14/2013 Mirza Adil 76
77. Inheritance
Inheritance is the act of deriving a new class
from an existing one.
A primary purpose of inheritance is to reuse
existing software.
Original class used to derive a new class is
called “super” class and the derived class is
called “sub” class.
Inheritance represents “is a” relationship
between the superclass and the subclass.
4/14/2013 Mirza Adil 77
78. Syntax
class subclass extends superclass {
class definition
}
Example:
class Windstar extends FordCar // meaning it
inherits from class Fordcar{ ....}
Windstar myCar();
In this example, FordCar is the super-class and
Windstar is a sub-class and myCar is an object
Windstar class.
4/14/2013 Mirza Adil 78
79. Representing the Relationship
BankClass
has a has a
has a
Account [ ] MortgageSVC BrokerageSVC
is a is a
Checking Savings
is a : use inheritance
has a : use composition, or membership
4/14/2013 Mirza Adil 79
80. Modifers
Visibility modifiers: private, public,
protected
Protected modifier is used when the
entity needs to be available to the
subclass but not to the public.
4/14/2013 Mirza Adil 80
81. Example : Words
Main class
Book class
Super class
Uses
is a
Dictionary Class
subclass
4/14/2013 Mirza Adil 81
82. Example : School
Student
Main class
uses
Grad Student
4/14/2013 Mirza Adil 82
83. Example
Food Abstract super class
Pizza Hamburger HotDog
subclasses
4/14/2013 Mirza Adil 83
84. Interface
An abstract method is one that does not
have a definition within the class. Only the
prototype is present.
An interface is collection of constants and
abstract methods.
Syntax
interface interface_name {
constant -declarations;
abstract methods;
}
4/14/2013 BR 84
85. Example
interface EPA {
bool emissionControl();
bool pollutionControl();
…
}
class NYepa implements EPA {
bool emissionControl () {
details/semantics /statements how to implement it }
class CAepa implements EPA {
bool emissionControl () {….
// different details on implementation….}
4/14/2013 Mirza Adil 85
86. Inheritance and Interfaces
In Java class may inherit (extend) from only
one class. (C++ allows multiple inheritance).
But a Java class may implement many
interfaces.
For example,
public class Scribble extends Applet implements
MouseListner, MouseMotionListner {
4/14/2013 Mirza Adil 86
87. Next Steps
Develop a multi-class java application
Develop a application with graphical
user interface
Develop the solution for LMS
Where can you get more info?
http://www.netbeans.org/kb/trails/java-se.html
4/14/2013 Mirza Adil 87
88. Summary
We studied object-oriented analysis and
design.
From problem statement to class diagram
We also studied basics of object-
oriented programming (OOP).
4/14/2013 Mirza Adil 88