title
Java OOPs Concepts | Object Oriented Programming | Java Tutorial For Beginners | Edureka
description
π₯ Java Certification Training (ππ¬π ππ¨ππ: πππππππππ): https://www.edureka.co/java-j2ee-training-course
This Edureka video on βJava OOPs Conceptsβ will give you a brief insight about various fundamentals of Object Oriented Programming in Java like Inheritance, Abstraction, Encapsulation, and Polymorphism along with their practical implementation. Through this tutorial you will learn the following topics:
1. Object-Oriented Programming
2. OOPs vs Procedural Programming
3. OOPs Concepts:
4. Inheritance
5. Polymorphism
6. Abstraction
7. Encapsulation
Check out our Java Tutorial blog series: https://goo.gl/osrGrS
Check out our complete Youtube playlist here: https://www.youtube.com/playlist?list=PL9ooVrP1hQOHb4bxoHauWVwNg4FweDItZ
Do subscribe to our channel and hit the bell icon to never miss an update from us in the future.
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
#Java #JavaTutorial #JavaTutorialForBeginners #LearnJava #JavaOnlineTraining #JavaProgramming
-------------------------------------
Got a question on the topic?
Please share it in the comment section below and our experts will answer it for you.
For Java Training and Certification, Call us at US: +18336900808 (Toll-Free) or India: +918861301699 Or, write back to us at sales@edureka.co
-------------------------------------
How it Works?
1. This is a 7 Week Instructor led Online Course, 45 hours of assignment and 20 hours of project work
2. We have a 24x7 One-on-One LIVE Technical Support to help you with any problems you might face or any clarifications you may require during the course.
3. At the end of the training, you will be working on a real-time project for which we will provide you a Grade and a Verifiable Certificate!
- - - - - - - - - - - - - - - - -
About the Course
Edureka's Advanced Java J2EE and SOA training and certification course is designed for students and professionals who want to be a Java Developer. This is a 42-hour course which will cover both core and advanced Java concepts like Database connectivity, Threads, Exception Handling, Collections, JSP, Servlets, XML Handling etc. We will also learn various Java frameworks like Hibernate and Spring. During our Java/ Certification training, our instructors will help you:
1. Develop the code with various Java data types, conditions, and loops.
2. Implement arrays, functions and string handling techniques.
3. Understand object-oriented programming through Java using Classes, Objects and various Java concepts like Abstract, Final etc.
4. Implement multi-threading and exception handling.
5. Use parse XML files using DOM and SAX in Java.
6. Write a code in JDBC to communicate with the Database.
7. Develop web applications and JSP pages.
8. Interact with the database using hibernate framework.
9. Write code with spring framework components like Dependency Injection and Auto Wiring.
10. Implement SOA using web services.
- - - - - - - - - - - - - - - - - - -
Who should go for this course?
This course is designed for professionals aspiring to become Java Developers. Programmers, Web Developers, Web Designers, Programming Hobbyists, Database Administrators, Youngsters who want to kick-start their career are the key beneficiaries of this course.
- - - - - - - - - - - - - - - -
Why learn Java?
Java is a general-purpose, class-based, object-oriented computer programming language that was designed by James Gosling at Sun Microsystems in 1995.
Key Highlights of Java:
Platform Independent: This allows programmers to develop applications that can run on any operating system.
Usability of Java: Java is the most widely used programming language. It is present everywhere. It really doesn't matter which domain you are working in, you will surely come across Java sooner or later!
Open Source: The good news is that Java is available for free! All the development tools and the environment (JRE & JDK) that is used to develop Java applications are absolutely free of cost.
Android: Irrespective of the fact that you are tech savvy or not, most of us are badly bitten by the Android bug! Android is in great demand today and fortunately, you need Java for Android development. Hence, the importance of Java has increased even more.
Hadoop: Hadoop is one of the most trending framework for processing Big Data. It has been designed and developed in Java.
In spite of having a tough competition on the server side from Microsoft and other companies, Java is doing extremely well on mobile platforms, thanks to Android! It has also been the primary language for Hadoop Developers.
For Java Training and Certification, please write back to us at sales@edureka.co or call us at IND: 9606058406 / US: 18338555775 (toll free).
detail
{'title': 'Java OOPs Concepts | Object Oriented Programming | Java Tutorial For Beginners | Edureka', 'heatmap': [{'end': 1769.992, 'start': 1719.205, 'weight': 0.714}, {'end': 1891.638, 'start': 1801.194, 'weight': 0.776}], 'summary': 'Tutorial on java oops concepts from edureka covers fundamental object-oriented programming concepts in java, including inheritance, abstraction, polymorphism, and encapsulation. it emphasizes the importance of objects and classes in software design methodologies, discusses the benefits of oop, explores inheritance in e-commerce solutions, managing data access, and showcases java inheritance concepts and oop principles.', 'chapters': [{'end': 232.972, 'segs': [{'end': 63.571, 'src': 'embed', 'start': 37.609, 'weight': 0, 'content': [{'end': 43.733, 'text': "That's like the four main pillars Inheritance, Abstraction, Polymorphism and Encapsulation.", 'start': 37.609, 'duration': 6.124}, {'end': 46.876, 'text': "So we'll begin with object-oriented programming.", 'start': 44.413, 'duration': 2.463}, {'end': 54.883, 'text': "So guys, this is one of the software design methodologies that how we gonna write a software solution in the industry and it's followed widely.", 'start': 47.196, 'duration': 7.687}, {'end': 63.571, 'text': "So what is this object-oriented programming? It's a methodology or a paradigm using which we can design our software solutions.", 'start': 55.483, 'duration': 8.088}], 'summary': 'Object-oriented programming is a widely followed software design methodology based on four main pillars: inheritance, abstraction, polymorphism, and encapsulation.', 'duration': 25.962, 'max_score': 37.609, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk37609.jpg'}, {'end': 160.687, 'src': 'embed', 'start': 111.048, 'weight': 1, 'content': [{'end': 118.053, 'text': 'So how an object will look like how object is going to be represented that we can do by having this guy called class.', 'start': 111.048, 'duration': 7.005}, {'end': 125.891, 'text': "So let's say there is a class called dog, which is a representation how a dog will look like.", 'start': 118.806, 'duration': 7.085}, {'end': 130.554, 'text': 'So we will have a representation in two of the ways.', 'start': 126.451, 'duration': 4.103}, {'end': 133.976, 'text': 'The first one is properties and the second one is behavior.', 'start': 130.774, 'duration': 3.202}, {'end': 137.338, 'text': 'Now properties are also referred to as attributes.', 'start': 134.336, 'duration': 3.002}, {'end': 143.923, 'text': 'For example, what is the weight? What is the age? What is the size color breed? So these are the properties.', 'start': 137.419, 'duration': 6.504}, {'end': 148.506, 'text': 'I can even say that they are the attributes which are linked to your object.', 'start': 144.143, 'duration': 4.363}, {'end': 152.521, 'text': 'Behavior goes like eat, sleep, run, bark, etc and etc.', 'start': 149.039, 'duration': 3.482}, {'end': 159.426, 'text': "So let's say a nose over here is used for having a process called breathing or respiration.", 'start': 153.042, 'duration': 6.384}, {'end': 160.687, 'text': 'Respiration is a behavior.', 'start': 159.606, 'duration': 1.081}], 'summary': 'Using classes, objects are represented with properties and behaviors, like a dog with its weight, age, and behavior such as eat, sleep, run, bark.', 'duration': 49.639, 'max_score': 111.048, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk111048.jpg'}], 'start': 10.981, 'title': 'Object-oriented programming in java', 'summary': 'Covers the fundamentals of object-oriented programming in java, including pillars like inheritance, abstraction, polymorphism, and encapsulation, and emphasizes the importance of objects and classes in software design methodologies. it also explains the concept of objects and classes in oop, highlighting that objects are real-world entities with properties and behavior, and classes serve as blueprints for creating similar objects.', 'chapters': [{'end': 80.788, 'start': 10.981, 'title': 'Object oriented programming in java', 'summary': 'Covers the fundamentals of object oriented programming in java, including its pillars inheritance, abstraction, polymorphism, and encapsulation, and emphasizes the importance of objects and classes in software design methodologies.', 'duration': 69.807, 'highlights': ['The chapter emphasizes the four main pillars of Object Oriented Programming: Inheritance, Abstraction, Polymorphism, and Encapsulation, which are fundamental concepts in software design methodologies.', 'Object Oriented Programming in Java is widely followed as a software design methodology in the industry, highlighting its significance and relevance.', 'The distinction between objects and classes is explained, emphasizing the importance of objects over classes in the object-oriented approach.', 'The session is focused on covering the basics of Object Oriented Programming in Java, including the differences from the procedural approach and the various fundamentals available.']}, {'end': 232.972, 'start': 81.368, 'title': 'Understanding object and class in oop', 'summary': 'Explains the concept of objects and classes in object-oriented programming, emphasizing that objects are real-world entities with properties and behavior, and classes serve as blueprints for creating objects with similar properties but different values.', 'duration': 151.604, 'highlights': ['Objects are real-world entities with properties and behavior, such as weight, age, size, color, and breed, as well as behaviors like eat, sleep, run, and bark.', 'Classes act as blueprints for objects, defining their properties and behavior, allowing for the creation of different objects with similar properties but different values.', 'Different objects will have the same properties but with different values, demonstrating the concept of object-oriented programming and the ability to create diverse objects with shared characteristics.']}], 'duration': 221.991, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk10981.jpg', 'highlights': ['The chapter emphasizes the four main pillars of Object Oriented Programming: Inheritance, Abstraction, Polymorphism, and Encapsulation, which are fundamental concepts in software design methodologies.', 'Objects are real-world entities with properties and behavior, such as weight, age, size, color, and breed, as well as behaviors like eat, sleep, run, and bark.', 'Classes act as blueprints for objects, defining their properties and behavior, allowing for the creation of different objects with similar properties but different values.', 'Object Oriented Programming in Java is widely followed as a software design methodology in the industry, highlighting its significance and relevance.']}, {'end': 413.357, 'segs': [{'end': 260.197, 'src': 'embed', 'start': 233.392, 'weight': 1, 'content': [{'end': 239.34, 'text': 'So I can say an object is a container which is containing properties and behavior both.', 'start': 233.392, 'duration': 5.948}, {'end': 246.45, 'text': 'Now how we are different from procedural approach the way we used to write programs in C.', 'start': 240.146, 'duration': 6.304}, {'end': 250.712, 'text': "So how is it different right? Let's have some comparisons coming in here.", 'start': 246.45, 'duration': 4.262}, {'end': 255.395, 'text': 'So object-oriented programming is a bottom-to-up approach.', 'start': 251.333, 'duration': 4.062}, {'end': 256.276, 'text': 'What does this mean?', 'start': 255.475, 'duration': 0.801}, {'end': 260.197, 'text': 'This means you think of an object first and then you start coding.', 'start': 256.636, 'duration': 3.561}], 'summary': 'Object-oriented programming is a bottom-to-up approach, focusing on objects and their properties and behavior, distinct from procedural programming.', 'duration': 26.805, 'max_score': 233.392, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk233392.jpg'}, {'end': 354.426, 'src': 'embed', 'start': 305.412, 'weight': 0, 'content': [{'end': 315.221, 'text': 'overriding inheritance and many other features which object-oriented programming will give us so that we can very easily design our softwares,', 'start': 305.412, 'duration': 9.809}, {'end': 317.243, 'text': 'which procedural programming will not do that.', 'start': 315.221, 'duration': 2.022}, {'end': 323.281, 'text': 'Now there are four major fundamentals when it comes to object-oriented programming structure.', 'start': 317.799, 'duration': 5.482}, {'end': 329.064, 'text': 'guys, we got encapsulation, abstraction, polymorphism and inheritance.', 'start': 323.281, 'duration': 5.783}, {'end': 338.048, 'text': 'So these are the four major building blocks of any object-oriented programming language, right? So we even call them the pillars for the oops.', 'start': 329.324, 'duration': 8.724}, {'end': 340.869, 'text': "So we'll discuss them one by one.", 'start': 338.848, 'duration': 2.021}, {'end': 343.05, 'text': 'to begin with, what is inheritance?', 'start': 340.869, 'duration': 2.181}, {'end': 349.242, 'text': 'So, guys, inheritance is where the property of an object will be acquired by the other.', 'start': 343.817, 'duration': 5.425}, {'end': 352.445, 'text': 'object will have a relationship called is a relationship.', 'start': 349.242, 'duration': 3.203}, {'end': 354.426, 'text': "So it's a parent-child relationship.", 'start': 352.665, 'duration': 1.761}], 'summary': 'Object-oriented programming features include inheritance, encapsulation, abstraction, and polymorphism, with inheritance involving acquiring properties through a parent-child relationship.', 'duration': 49.014, 'max_score': 305.412, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk305412.jpg'}], 'start': 233.392, 'title': 'Object-oriented programming fundamentals', 'summary': 'Discusses the differences between object-oriented programming and procedural approach, highlighting the benefits of oop such as bottom-to-up approach, access modifiers for security, and features like overloading, overriding inheritance, encapsulation, abstraction, polymorphism, and inheritance.', 'chapters': [{'end': 413.357, 'start': 233.392, 'title': 'Object-oriented programming fundamentals', 'summary': 'Discusses the differences between object-oriented programming and procedural approach, highlighting the benefits of oop such as bottom-to-up approach, access modifiers for security, and features like overloading, overriding inheritance, encapsulation, abstraction, polymorphism, and inheritance.', 'duration': 179.965, 'highlights': ['Object-oriented programming is a bottom-to-up approach, enabling modularization of programs into objects and providing access modifiers for security, which results in a more secure software solution compared to procedural approach.', 'Features like overloading, overriding inheritance, encapsulation, abstraction, polymorphism, and inheritance are major building blocks of any object-oriented programming language, providing the capability to easily design software solutions that procedural programming cannot achieve.', 'Inheritance in object-oriented programming allows objects to acquire properties from other objects, establishing a parent-child relationship and enabling generalization of different types into a single type, such as animal as the parent and mammals, reptiles, amphibians, and birds as the children.', 'Inheritance example: Consider a product object structure with properties like product ID, name, and price, which can be coded to demonstrate inheritance.', 'Comparison between object-oriented programming and procedural approach, highlighting the modularization of programs into objects, access modifiers for security, and features like overloading, overriding inheritance, encapsulation, abstraction, polymorphism, and inheritance.']}], 'duration': 179.965, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk233392.jpg', 'highlights': ['Features like overloading, overriding inheritance, encapsulation, abstraction, polymorphism, and inheritance are major building blocks of any object-oriented programming language, providing the capability to easily design software solutions that procedural programming cannot achieve.', 'Object-oriented programming is a bottom-to-up approach, enabling modularization of programs into objects and providing access modifiers for security, which results in a more secure software solution compared to procedural approach.', 'Inheritance in object-oriented programming allows objects to acquire properties from other objects, establishing a parent-child relationship and enabling generalization of different types into a single type, such as animal as the parent and mammals, reptiles, amphibians, and birds as the children.', 'Comparison between object-oriented programming and procedural approach, highlighting the modularization of programs into objects, access modifiers for security, and features like overloading, overriding inheritance, encapsulation, abstraction, polymorphism, and inheritance.']}, {'end': 1000.474, 'segs': [{'end': 442.327, 'src': 'embed', 'start': 413.937, 'weight': 1, 'content': [{'end': 418.782, 'text': 'So these are few of the attributes associated with the product.', 'start': 413.937, 'duration': 4.845}, {'end': 422.016, 'text': "Right now I'm taking this use case.", 'start': 419.255, 'duration': 2.761}, {'end': 428.44, 'text': "Let's say we are going to develop an e-commerce solution for an e-commerce solution.", 'start': 422.297, 'duration': 6.143}, {'end': 434.863, 'text': 'Now, there will be a product which can be an LED TV.', 'start': 430.241, 'duration': 4.622}, {'end': 438.325, 'text': 'So LED TV will extend the product right?', 'start': 435.423, 'duration': 2.902}, {'end': 442.327, 'text': 'So what is the benefit of extending LED TV from product?', 'start': 438.345, 'duration': 3.982}], 'summary': 'Attributes of the product discussed for e-commerce solution.', 'duration': 28.39, 'max_score': 413.937, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk413937.jpg'}, {'end': 588.552, 'src': 'embed', 'start': 505.896, 'weight': 0, 'content': [{'end': 515.464, 'text': 'So, when we know that we have some common attributes or common properties which will be reused again and again,', 'start': 505.896, 'duration': 9.568}, {'end': 525.171, 'text': 'this is like repeating the code again and again, whereas when we are coming up with this structure here,', 'start': 515.464, 'duration': 9.707}, {'end': 530.295, 'text': 'so we are reusing the similar code again and again.', 'start': 525.171, 'duration': 5.124}, {'end': 536.17, 'text': 'You have product as one guy and you now keep on reusing it again and again.', 'start': 531.027, 'duration': 5.143}, {'end': 542.353, 'text': "So let's try to come up and write one small program here and understand this example.", 'start': 536.97, 'duration': 5.383}, {'end': 545.155, 'text': "So I'm going to say a new Java project.", 'start': 542.834, 'duration': 2.321}, {'end': 550.198, 'text': 'So we are using Eclipse as an ID so you can use IntelliJ J developer.', 'start': 545.375, 'duration': 4.823}, {'end': 555.481, 'text': "So whatever you want to use you can use that let's say a new Java project.", 'start': 550.958, 'duration': 4.523}, {'end': 557.422, 'text': "I'm going to say oops.", 'start': 556.021, 'duration': 1.401}, {'end': 565.817, 'text': "So in this object-oriented programming structure on the SRC, I'm going to do a right click and see a new class.", 'start': 558.792, 'duration': 7.025}, {'end': 567.898, 'text': 'Now this new class over here.', 'start': 566.657, 'duration': 1.241}, {'end': 573.142, 'text': 'Let us name it inheritance app with the main method.', 'start': 568.338, 'duration': 4.804}, {'end': 575.223, 'text': "So I'm going to write a package.", 'start': 573.902, 'duration': 1.321}, {'end': 577.404, 'text': "Let's say co.edureka.", 'start': 575.363, 'duration': 2.041}, {'end': 588.552, 'text': 'So this package name co.edureka contains inheritance app with the main method, right? So we know what is main main is executed.', 'start': 578.285, 'duration': 10.267}], 'summary': 'Demonstrating code reusability using inheritance in java.', 'duration': 82.656, 'max_score': 505.896, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk505896.jpg'}, {'end': 670.054, 'src': 'embed', 'start': 628.386, 'weight': 4, 'content': [{'end': 631.447, 'text': 'So this is constructor the default one.', 'start': 628.386, 'duration': 3.061}, {'end': 633.987, 'text': "So the methods I'll say void.", 'start': 631.947, 'duration': 2.04}, {'end': 638.188, 'text': "Let's see set product details.", 'start': 634.968, 'duration': 3.22}, {'end': 645.65, 'text': "Where I will say let's take three inputs the ID name and price.", 'start': 639.609, 'duration': 6.041}, {'end': 655.93, 'text': 'So when I say this dot PID is PID this dot name is name and this dot prices price.', 'start': 647.008, 'duration': 8.922}, {'end': 664.313, 'text': 'So we call this guy as a method which is setting the details into the product object.', 'start': 657.131, 'duration': 7.182}, {'end': 670.054, 'text': 'I can even say to write data in product object.', 'start': 664.853, 'duration': 5.201}], 'summary': 'Constructor sets product details - id, name, price.', 'duration': 41.668, 'max_score': 628.386, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk628386.jpg'}], 'start': 413.937, 'title': 'E-commerce inheritance & java oop', 'summary': 'Explores inheritance in e-commerce solutions, emphasizing the benefits of code reuse, and efficiency improvement. it also showcases a java project in eclipse, focusing on object-oriented programming, class creation, attribute & method implementation, and data manipulation for product details.', 'chapters': [{'end': 536.17, 'start': 413.937, 'title': 'Inheritance in e-commerce', 'summary': 'Discusses the concept of inheritance in e-commerce solutions, highlighting the benefits of reusing common attributes and properties in product development, reducing code repetition, and improving efficiency.', 'duration': 122.233, 'highlights': ['The concept of inheritance in e-commerce solutions allows for the reuse of common attributes like brand, technology, and other parameters, reducing code repetition and improving efficiency.', 'Extending a product, such as an LED TV, to inherit common attributes and properties, like brand, technology, and other parameters, facilitates the development of e-commerce solutions.', 'Without extension or inheritance, developers would need to rewrite similar code snippets for each product, resulting in code repetition and inefficiency.']}, {'end': 1000.474, 'start': 536.97, 'title': 'Java object-oriented programming example', 'summary': 'Demonstrates the creation of a java project using eclipse, with an emphasis on object-oriented programming, including the creation of classes, attributes, methods, object construction, and data manipulation, such as setting and showing product details.', 'duration': 463.504, 'highlights': ['Creation of a Java project using Eclipse or IntelliJ J developer The speaker mentions the usage of Eclipse as an IDE for creating a new Java project, providing flexibility for developers to choose their preferred IDE.', "Demonstration of object-oriented programming structure with class creation and main method implementation The chapter demonstrates the creation of a class named 'inheritance app' with the main method, within the 'co.edureka' package, highlighting the essential structure of object-oriented programming.", 'Explanation of class attributes and methods for setting and showing product details The speaker explains the inclusion of attributes such as product ID, name, and price, along with the methods for setting and showing product details, which forms an integral part of the object-oriented programming structure.', 'Object construction and data manipulation for product objects The chapter explains the creation of product objects, data manipulation through methods for setting and showing product details, emphasizing the practical implementation of object-oriented programming concepts.']}], 'duration': 586.537, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk413937.jpg', 'highlights': ['The concept of inheritance in e-commerce solutions allows for the reuse of common attributes like brand, technology, and other parameters, reducing code repetition and improving efficiency.', 'Extending a product, such as an LED TV, to inherit common attributes and properties, like brand, technology, and other parameters, facilitates the development of e-commerce solutions.', 'Without extension or inheritance, developers would need to rewrite similar code snippets for each product, resulting in code repetition and inefficiency.', "Demonstration of object-oriented programming structure with class creation and main method implementation The chapter demonstrates the creation of a class named 'inheritance app' with the main method, within the 'co.edureka' package, highlighting the essential structure of object-oriented programming.", 'Explanation of class attributes and methods for setting and showing product details The speaker explains the inclusion of attributes such as product ID, name, and price, along with the methods for setting and showing product details, which forms an integral part of the object-oriented programming structure.', 'Object construction and data manipulation for product objects The chapter explains the creation of product objects, data manipulation through methods for setting and showing product details, emphasizing the practical implementation of object-oriented programming concepts.', 'Creation of a Java project using Eclipse or IntelliJ J developer The speaker mentions the usage of Eclipse as an IDE for creating a new Java project, providing flexibility for developers to choose their preferred IDE.']}, {'end': 1400.733, 'segs': [{'end': 1029.233, 'src': 'embed', 'start': 1001.034, 'weight': 0, 'content': [{'end': 1003.815, 'text': 'We are not writing the data using any method.', 'start': 1001.034, 'duration': 2.781}, {'end': 1009.257, 'text': 'We are writing the data directly and you see the data read operation happening again.', 'start': 1003.995, 'duration': 5.262}, {'end': 1016.126, 'text': "So if you don't want the data to be written directly you can make the attributes go as private.", 'start': 1010.342, 'duration': 5.784}, {'end': 1026.553, 'text': 'So having your attributes as private so you are limiting the user not to write the data directly you see you are now getting an error here.', 'start': 1016.886, 'duration': 9.667}, {'end': 1029.233, 'text': "So I'm not going to make everything private.", 'start': 1027.512, 'duration': 1.721}], 'summary': 'Directly writing data without privacy control leads to errors.', 'duration': 28.199, 'max_score': 1001.034, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1001034.jpg'}, {'end': 1121.659, 'src': 'embed', 'start': 1057.058, 'weight': 1, 'content': [{'end': 1061.201, 'text': 'we can create a method which is set the PID.', 'start': 1057.058, 'duration': 4.143}, {'end': 1067.046, 'text': 'you take integer as input and you see this dot PID is PID.', 'start': 1061.201, 'duration': 5.845}, {'end': 1071.969, 'text': "So guys when I'm using this so this means reference to the current object.", 'start': 1067.447, 'duration': 4.522}, {'end': 1075.89, 'text': 'So this means reference to current object.', 'start': 1071.989, 'duration': 3.901}, {'end': 1083.974, 'text': 'So the left-hand side PID belongs to object right-hand side PID belongs to the method set PID.', 'start': 1076.651, 'duration': 7.323}, {'end': 1092.958, 'text': 'Okay, so LHS belongs to the object and RHS belongs to method.', 'start': 1084.734, 'duration': 8.224}, {'end': 1101.328, 'text': 'So we can similarly say in get PID which returns back the PID.', 'start': 1094.304, 'duration': 7.024}, {'end': 1108.032, 'text': 'So when you say set PID and get PID, what does it mean? So these are the special methods.', 'start': 1101.968, 'duration': 6.064}, {'end': 1116.877, 'text': 'We call them setters and getters setter and getter is required when you have your attribute marked as private.', 'start': 1108.112, 'duration': 8.765}, {'end': 1121.659, 'text': 'So you have some indirect way of capturing these details in your object.', 'start': 1117.397, 'duration': 4.262}], 'summary': 'Creating methods to set and get pid for objects, involving private attributes.', 'duration': 64.601, 'max_score': 1057.058, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1057058.jpg'}, {'end': 1272.919, 'src': 'embed', 'start': 1244.421, 'weight': 3, 'content': [{'end': 1253.205, 'text': 'so as a rule of inheritance it is like firstly you get the parent object constructed and then the mobile object constructed.', 'start': 1244.421, 'duration': 8.784}, {'end': 1255.285, 'text': 'so, guys, i hope this is clear, right.', 'start': 1253.205, 'duration': 2.08}, {'end': 1256.866, 'text': 'so what is happening here?', 'start': 1255.285, 'duration': 1.581}, {'end': 1272.919, 'text': 'we have parent object constructed before the mobile object, as this becomes the rule to inheritance, and we say this is object to object.', 'start': 1256.866, 'duration': 16.053}], 'summary': 'Inheritance rule: parent object constructed before mobile object. object to object.', 'duration': 28.498, 'max_score': 1244.421, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1244421.jpg'}, {'end': 1330.435, 'src': 'embed', 'start': 1303.179, 'weight': 4, 'content': [{'end': 1308.605, 'text': 'when you run this code, you get to see that a product object constructed.', 'start': 1303.179, 'duration': 5.426}, {'end': 1317.513, 'text': 'mobile object constructed data written in the product object and you see the details flowing for you.', 'start': 1308.605, 'duration': 8.908}, {'end': 1319.956, 'text': 'so guys, i hope this is clear, right.', 'start': 1317.513, 'duration': 2.443}, {'end': 1323.359, 'text': 'so whatever you had in the parent, you got in the child, right.', 'start': 1319.956, 'duration': 3.403}, {'end': 1330.435, 'text': 'So we have other things coming up for the child and we can very easily access those things.', 'start': 1323.834, 'duration': 6.601}], 'summary': 'Code generates product and mobile objects with accessible data.', 'duration': 27.256, 'max_score': 1303.179, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1303179.jpg'}], 'start': 1001.034, 'title': 'Managing data access and inheritance in oop', 'summary': 'Discusses the importance of managing data access in object-oriented programming and emphasizes the use of private attributes and setters/getters. it also explores the concept of inheritance, demonstrating how child objects inherit attributes from parents and showcases the construction of child objects using a mobile extending the product.', 'chapters': [{'end': 1121.659, 'start': 1001.034, 'title': 'Managing data access in object-oriented programming', 'summary': 'Discusses the importance of managing data access in object-oriented programming, emphasizing the use of private attributes and the implementation of setters and getters to control data manipulation and access.', 'duration': 120.625, 'highlights': ['Creating private attributes restricts direct data manipulation by users, ensuring data integrity and security.', 'The use of setters and getters provides an indirect way of accessing and modifying private attributes, enhancing data encapsulation and abstraction.', "The 'this' keyword in Java references the current object, enabling the distinction between object attributes and method parameters."]}, {'end': 1400.733, 'start': 1122.32, 'title': 'Inheritance in oop', 'summary': 'Discusses the concept of inheritance in object-oriented programming, illustrating how child objects inherit attributes from parent objects and demonstrating the construction of child objects using a mobile extending the product, showcasing how the child inherits the attributes and allowing additional attributes for the child object.', 'duration': 278.413, 'highlights': ['The chapter discusses the concept of inheritance in object-oriented programming It explains the concept of inheritance in object-oriented programming and how child objects inherit attributes from parent objects.', 'Illustrating how child objects inherit attributes from parent objects and demonstrating the construction of child objects using a mobile extending the product It provides a demonstration of how a child object, mobile, inherits attributes from the parent object, product, and showcases the construction of a child object using the concept of inheritance.', 'Showcasing how the child inherits the attributes and allowing additional attributes for the child object It demonstrates how the child object inherits the attributes from the parent object and showcases the addition of extra attributes specific to the child object.']}], 'duration': 399.699, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1001034.jpg', 'highlights': ['Creating private attributes restricts direct data manipulation by users, ensuring data integrity and security.', 'The use of setters and getters provides an indirect way of accessing and modifying private attributes, enhancing data encapsulation and abstraction.', "The 'this' keyword in Java references the current object, enabling the distinction between object attributes and method parameters.", 'The chapter discusses the concept of inheritance in object-oriented programming and how child objects inherit attributes from parent objects.', 'Illustrating how child objects inherit attributes from parent objects and demonstrating the construction of child objects using a mobile extending the product.', 'Showcasing how the child inherits the attributes and allowing additional attributes for the child object.']}, {'end': 1739.835, 'segs': [{'end': 1503.877, 'src': 'embed', 'start': 1424.499, 'weight': 0, 'content': [{'end': 1438.511, 'text': 'so we have redefined the same method from the parent into the child with different inputs.', 'start': 1424.499, 'duration': 14.012}, {'end': 1442.014, 'text': 'so we got two methods in the child.', 'start': 1439.412, 'duration': 2.602}, {'end': 1452.482, 'text': 'so we have now two methods in the child one from parent and one of child right.', 'start': 1442.014, 'duration': 10.468}, {'end': 1454.803, 'text': 'so both are different.', 'start': 1452.482, 'duration': 2.321}, {'end': 1464.831, 'text': 'as in based on inputs right, even though name is same, even though name is same, they are different based on the inputs.', 'start': 1454.803, 'duration': 10.028}, {'end': 1469.144, 'text': 'So whatsoever belongs to the parent.', 'start': 1465.783, 'duration': 3.361}, {'end': 1472.746, 'text': 'that is inherited into the child and now in the child.', 'start': 1469.144, 'duration': 3.602}, {'end': 1481.47, 'text': 'We have the same method coming up again why we did this because we wanted to set the data for the additional attributes.', 'start': 1472.786, 'duration': 8.684}, {'end': 1491.574, 'text': 'So this is known as method over loading same method name with different inputs.', 'start': 1482.09, 'duration': 9.484}, {'end': 1496.951, 'text': 'So what I can do now is why to access the parents method here.', 'start': 1492.867, 'duration': 4.084}, {'end': 1503.877, 'text': 'I can have my own method mobile dot set the product details with the PID.', 'start': 1497.531, 'duration': 6.346}], 'summary': 'Method overloading: using same method name with different inputs to set data for additional attributes.', 'duration': 79.378, 'max_score': 1424.499, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1424499.jpg'}, {'end': 1602.876, 'src': 'embed', 'start': 1567.83, 'weight': 3, 'content': [{'end': 1583.45, 'text': 'But here we have same inputs Two methods, one from parent, one in child, and we have same signatures.', 'start': 1567.83, 'duration': 15.62}, {'end': 1588.011, 'text': 'When I say same signatures, it means they have same input details.', 'start': 1584.95, 'duration': 3.061}, {'end': 1591.392, 'text': "So what I'll do is I'll extend the data here.", 'start': 1588.832, 'duration': 2.56}, {'end': 1596.734, 'text': "So we'll have OS, we'll have RAM, and we'll have SD card.", 'start': 1592.173, 'duration': 4.561}, {'end': 1602.876, 'text': "So we'll have this OS, RAM, and SD card size.", 'start': 1597.534, 'duration': 5.342}], 'summary': 'Comparison of input details between parent and child methods, with os, ram, and sd card data being extended.', 'duration': 35.046, 'max_score': 1567.83, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1567830.jpg'}, {'end': 1714.425, 'src': 'embed', 'start': 1664.278, 'weight': 2, 'content': [{'end': 1671.423, 'text': 'We need to overload a method so that we can write the exact data which we want.', 'start': 1664.278, 'duration': 7.145}, {'end': 1674.245, 'text': 'So we are customizing this method in the child.', 'start': 1671.683, 'duration': 2.562}, {'end': 1679.329, 'text': 'We are overriding the method so that we can display more data.', 'start': 1674.746, 'duration': 4.583}, {'end': 1682.732, 'text': 'So we are customizing the methods in the child right?', 'start': 1679.91, 'duration': 2.822}, {'end': 1689.055, 'text': 'So overloading and overriding is what where we are having customizations to predefined methods.', 'start': 1683.371, 'duration': 5.684}, {'end': 1690.916, 'text': "We don't want this predefined method.", 'start': 1689.275, 'duration': 1.641}, {'end': 1696.079, 'text': 'We want the way we want to present the data and we have it in front of us.', 'start': 1691.096, 'duration': 4.983}, {'end': 1702.53, 'text': 'So this is a very quick introduction to object-oriented programming structure guys.', 'start': 1697.043, 'duration': 5.487}, {'end': 1706.575, 'text': 'So now let us come here and understand the next part.', 'start': 1703.091, 'duration': 3.484}, {'end': 1711.601, 'text': 'So inheritance is where one object will acquire the properties of other object.', 'start': 1707.236, 'duration': 4.365}, {'end': 1714.425, 'text': 'It is a relationship the parent-child relationship.', 'start': 1711.681, 'duration': 2.744}], 'summary': 'Customizing methods in a child for overloading and overriding, introducing object-oriented programming and discussing inheritance.', 'duration': 50.147, 'max_score': 1664.278, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1664278.jpg'}], 'start': 1400.773, 'title': 'Oop concepts', 'summary': 'Discusses inheritance, method overloading, method overriding, and the advantages of code reusability and extensibility in object-oriented programming with programming examples, emphasizing customization of methods for parent-child relationships.', 'chapters': [{'end': 1602.876, 'start': 1400.773, 'title': 'Inheritance and method overloading', 'summary': 'Discusses inheritance in oop, emphasizing method overloading by redefining the same method from the parent into the child with different inputs and understanding how it works in the context of a programming example.', 'duration': 202.103, 'highlights': ['Inheritance is demonstrated by redefining the same method from the parent into the child with different inputs, resulting in two methods in the child, one from the parent and one from the child. Demonstrates the concept of inheritance and method redefinition, resulting in two methods with different inputs in the child class.', 'Method overloading is explained as having the same method name with different inputs, allowing for setting data for additional attributes. Explains method overloading by using the same method name with different inputs to set data for additional attributes.', 'The concept of method signatures with the same input details is introduced, followed by extending the data to include OS, RAM, and SD card size. Introduces the concept of method signatures and extending the data to include specific input details such as OS, RAM, and SD card size.']}, {'end': 1739.835, 'start': 1604.452, 'title': 'Object-oriented programming concepts', 'summary': 'Discusses the concepts of method overriding and inheritance in object-oriented programming, emphasizing the importance of customizing methods for displaying data in parent-child relationships and the advantages of code reusability and extensibility through inheritance.', 'duration': 135.383, 'highlights': ['The chapter explains the concept of method overriding in a parent-child relationship, emphasizing the ability to customize methods to display more data, illustrating the difference between method overloading and method overriding.', 'It highlights the significance of inheritance in object-oriented programming, emphasizing the acquisition of properties by one object from another, and the advantages of code reusability, extensibility, and the ability to hide data attributes as needed.']}], 'duration': 339.062, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1400773.jpg', 'highlights': ['Inheritance is demonstrated by redefining the same method from the parent into the child with different inputs, resulting in two methods in the child, one from the parent and one from the child.', 'Method overloading is explained as having the same method name with different inputs, allowing for setting data for additional attributes.', 'The chapter explains the concept of method overriding in a parent-child relationship, emphasizing the ability to customize methods to display more data, illustrating the difference between method overloading and method overriding.', 'The concept of method signatures with the same input details is introduced, followed by extending the data to include OS, RAM, and SD card size.', 'It highlights the significance of inheritance in object-oriented programming, emphasizing the acquisition of properties by one object from another, and the advantages of code reusability, extensibility, and the ability to hide data attributes as needed.']}, {'end': 2026.882, 'segs': [{'end': 1787.345, 'src': 'embed', 'start': 1740.275, 'weight': 0, 'content': [{'end': 1743.517, 'text': 'So you are single level, multi-level and hierarchical.', 'start': 1740.275, 'duration': 3.242}, {'end': 1746.879, 'text': 'where single level is one parent, one child.', 'start': 1743.517, 'duration': 3.362}, {'end': 1753.583, 'text': 'multi-level is parent to child to grandchild and hierarchy is having one parent with more than one children.', 'start': 1746.879, 'duration': 6.704}, {'end': 1757.626, 'text': "multiple inheritance that's opposite of hierarchy is not supported in Java.", 'start': 1753.583, 'duration': 4.043}, {'end': 1759.347, 'text': 'So there is no virtual keyword.', 'start': 1757.906, 'duration': 1.441}, {'end': 1764.61, 'text': 'There is no pointer technique in Java by which we can solve the problems like dreaded diamond here.', 'start': 1759.587, 'duration': 5.023}, {'end': 1769.992, 'text': 'So in single level inheritance, we got one parent and we got one child.', 'start': 1765.228, 'duration': 4.764}, {'end': 1776.957, 'text': "So arrow is upwards because B is an A right? So it's extension relationship.", 'start': 1770.572, 'duration': 6.385}, {'end': 1783.102, 'text': 'Then we have multilevel parent to child child to grandchild and thereafter guys.', 'start': 1777.538, 'duration': 5.564}, {'end': 1787.345, 'text': 'We got hierarchy where one parent with the multiple children.', 'start': 1783.142, 'duration': 4.203}], 'summary': 'Java does not support multiple inheritance and pointer technique, while supporting single level, multi-level, and hierarchical inheritance.', 'duration': 47.07, 'max_score': 1740.275, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1740275.jpg'}, {'end': 1891.638, 'src': 'heatmap', 'start': 1801.194, 'weight': 0.776, 'content': [{'end': 1806.999, 'text': 'So guys it is having the same name with the different different definitions.', 'start': 1801.194, 'duration': 5.805}, {'end': 1809.401, 'text': 'So you can say mothers.', 'start': 1807.539, 'duration': 1.862}, {'end': 1811.723, 'text': 'They are the best example of polymorphism.', 'start': 1809.781, 'duration': 1.942}, {'end': 1813.044, 'text': 'They handle kids.', 'start': 1812.183, 'duration': 0.861}, {'end': 1814.325, 'text': 'They handle office.', 'start': 1813.565, 'duration': 0.76}, {'end': 1823.313, 'text': 'They handle home more than one form, right? So here polymorphism can happen in two different ways compile time and runtime.', 'start': 1814.605, 'duration': 8.708}, {'end': 1830.308, 'text': 'So what is compile time versus runtime? So compile time means overloading we call it static polymorphism.', 'start': 1823.922, 'duration': 6.386}, {'end': 1836.695, 'text': 'So compiler will ensure which method will be executed for which function call.', 'start': 1830.689, 'duration': 6.006}, {'end': 1839.077, 'text': 'So there are some rules to overload.', 'start': 1837.295, 'duration': 1.782}, {'end': 1845.844, 'text': 'the method name should be same and the argument list or the inputs to the method that should be different and unique.', 'start': 1839.077, 'duration': 6.767}, {'end': 1850.255, 'text': 'So the other form is runtime polymorphism.', 'start': 1846.693, 'duration': 3.562}, {'end': 1854.857, 'text': "That's like dynamic polymorphism where we got method overriding.", 'start': 1850.295, 'duration': 4.562}, {'end': 1858.539, 'text': 'All right, so overriding we got some rules coming in here.', 'start': 1855.117, 'duration': 3.422}, {'end': 1868.084, 'text': 'So the rules to override is where the method name should be same, input should be same, return type is something which must be same,', 'start': 1859.079, 'duration': 9.005}, {'end': 1872.086, 'text': 'or the subtype of the overridden method and access level.', 'start': 1868.084, 'duration': 4.002}, {'end': 1874.647, 'text': 'It must be same or more restrictive.', 'start': 1872.466, 'duration': 2.181}, {'end': 1882.372, 'text': 'Now, what is abstraction guys? So abstraction is achieved using abstract classes and interfaces.', 'start': 1875.487, 'duration': 6.885}, {'end': 1891.638, 'text': 'So this is where we achieve runtime polymorphism in a different approach, right? So here we have an abstract class.', 'start': 1882.732, 'duration': 8.906}], 'summary': 'Polymorphism can occur in two ways: compile time (static polymorphism) and runtime (dynamic polymorphism). abstraction is achieved using abstract classes and interfaces.', 'duration': 90.444, 'max_score': 1801.194, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1801194.jpg'}, {'end': 1839.077, 'src': 'embed', 'start': 1814.605, 'weight': 1, 'content': [{'end': 1823.313, 'text': 'They handle home more than one form, right? So here polymorphism can happen in two different ways compile time and runtime.', 'start': 1814.605, 'duration': 8.708}, {'end': 1830.308, 'text': 'So what is compile time versus runtime? So compile time means overloading we call it static polymorphism.', 'start': 1823.922, 'duration': 6.386}, {'end': 1836.695, 'text': 'So compiler will ensure which method will be executed for which function call.', 'start': 1830.689, 'duration': 6.006}, {'end': 1839.077, 'text': 'So there are some rules to overload.', 'start': 1837.295, 'duration': 1.782}], 'summary': 'Polymorphism can occur in two ways: compile time and runtime, with overloading being referred to as static polymorphism.', 'duration': 24.472, 'max_score': 1814.605, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1814605.jpg'}, {'end': 1882.372, 'src': 'embed', 'start': 1859.079, 'weight': 2, 'content': [{'end': 1868.084, 'text': 'So the rules to override is where the method name should be same, input should be same, return type is something which must be same,', 'start': 1859.079, 'duration': 9.005}, {'end': 1872.086, 'text': 'or the subtype of the overridden method and access level.', 'start': 1868.084, 'duration': 4.002}, {'end': 1874.647, 'text': 'It must be same or more restrictive.', 'start': 1872.466, 'duration': 2.181}, {'end': 1882.372, 'text': 'Now, what is abstraction guys? So abstraction is achieved using abstract classes and interfaces.', 'start': 1875.487, 'duration': 6.885}], 'summary': 'Rules for method override: name, input, return type, and access level must match. abstraction uses abstract classes and interfaces.', 'duration': 23.293, 'max_score': 1859.079, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1859079.jpg'}, {'end': 1992.295, 'src': 'embed', 'start': 1933.991, 'weight': 3, 'content': [{'end': 1938.795, 'text': 'So it will enable multiple inheritance and helps in achieving the loose coupling.', 'start': 1933.991, 'duration': 4.804}, {'end': 1944.8, 'text': 'So a class can extend the class a class implements an interface.', 'start': 1939.435, 'duration': 5.365}, {'end': 1949.464, 'text': 'Now, this is one of the major differences between classes and interfaces.', 'start': 1945.24, 'duration': 4.224}, {'end': 1954.114, 'text': 'so we got interface to interface inheritance as well.', 'start': 1950.231, 'duration': 3.883}, {'end': 1960.698, 'text': "so, guys, abstract class and interfaces, so as in practically, we'll see it in our other sessions.", 'start': 1954.114, 'duration': 6.584}, {'end': 1963.56, 'text': 'so lastly, what is encapsulation?', 'start': 1960.698, 'duration': 2.862}, {'end': 1973.927, 'text': 'where we are going to privatize the data so we can have an attribute, we can mark it as private and when the attribute is marked as private,', 'start': 1963.56, 'duration': 10.367}, {'end': 1975.108, 'text': 'it cannot be accessed.', 'start': 1973.927, 'duration': 1.181}, {'end': 1980.788, 'text': 'So we need setters and getters so as to access this private data.', 'start': 1975.404, 'duration': 5.384}, {'end': 1985.511, 'text': 'So encapsulation leads to data hiding.', 'start': 1981.648, 'duration': 3.863}, {'end': 1987.752, 'text': 'So it is focusing on security.', 'start': 1985.931, 'duration': 1.821}, {'end': 1992.295, 'text': 'So this is all from my side and Edureka.', 'start': 1988.273, 'duration': 4.022}], 'summary': 'Enables multiple inheritance, interface implementation, encapsulation for data hiding and security.', 'duration': 58.304, 'max_score': 1933.991, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1933991.jpg'}], 'start': 1740.275, 'title': 'Java inheritance and oop concepts', 'summary': 'Covers java inheritance concepts including single level, multi-level, and hierarchical inheritance, and oop concepts such as polymorphism, method overloading and overriding, abstraction, and encapsulation.', 'chapters': [{'end': 1787.345, 'start': 1740.275, 'title': 'Java inheritance overview', 'summary': 'Explains the concepts of single level, multi-level, and hierarchical inheritance in java, highlighting the lack of support for multiple inheritance and the absence of pointer techniques, and emphasizing the relationships between parent and child classes.', 'duration': 47.07, 'highlights': ['Java does not support multiple inheritance and does not have a virtual keyword.', 'Explains the concepts of single level, multi-level, and hierarchical inheritance in Java, highlighting the relationships between parent and child classes.', 'Describes the absence of pointer techniques in Java and how it affects solving problems like the dreaded diamond.']}, {'end': 2026.882, 'start': 1787.925, 'title': 'Java oop concepts overview', 'summary': 'Covers key object-oriented programming concepts in java including: absence of multiple inheritance, polymorphism with examples, compile-time and runtime polymorphism, rules for method overloading and overriding, abstraction using abstract classes and interfaces, and encapsulation for data hiding and security.', 'duration': 238.957, 'highlights': ['Polymorphism is demonstrated through examples like mothers handling kids, office, and home, showcasing the concept of having multiple forms, compile-time and runtime polymorphism are explained.', 'Method overloading and overriding rules are detailed, including same method name, different argument list, and return type being same or subtype for overriding.', 'Abstraction is achieved using abstract classes and interfaces, with abstract class having abstract and non-abstract methods, and interface enabling multiple inheritance and loose coupling.', 'Encapsulation is described as privatizing data, using setters and getters to access private data, leading to data hiding and focusing on security.']}], 'duration': 286.607, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/7GwptabrYyk/pics/7GwptabrYyk1740275.jpg', 'highlights': ['Explains the concepts of single level, multi-level, and hierarchical inheritance in Java, highlighting the relationships between parent and child classes.', 'Polymorphism is demonstrated through examples like mothers handling kids, office, and home, showcasing the concept of having multiple forms, compile-time and runtime polymorphism are explained.', 'Method overloading and overriding rules are detailed, including same method name, different argument list, and return type being same or subtype for overriding.', 'Abstraction is achieved using abstract classes and interfaces, with abstract class having abstract and non-abstract methods, and interface enabling multiple inheritance and loose coupling.', 'Encapsulation is described as privatizing data, using setters and getters to access private data, leading to data hiding and focusing on security.', 'Java does not support multiple inheritance and does not have a virtual keyword.', 'Describes the absence of pointer techniques in Java and how it affects solving problems like the dreaded diamond.']}], 'highlights': ['Inheritance is demonstrated by redefining the same method from the parent into the child with different inputs, resulting in two methods in the child, one from the parent and one from the child.', 'The chapter emphasizes the four main pillars of Object Oriented Programming: Inheritance, Abstraction, Polymorphism, and Encapsulation, which are fundamental concepts in software design methodologies.', 'Features like overloading, overriding inheritance, encapsulation, abstraction, polymorphism, and inheritance are major building blocks of any object-oriented programming language, providing the capability to easily design software solutions that procedural programming cannot achieve.', 'The concept of inheritance in e-commerce solutions allows for the reuse of common attributes like brand, technology, and other parameters, reducing code repetition and improving efficiency.', 'Explains the concepts of single level, multi-level, and hierarchical inheritance in Java, highlighting the relationships between parent and child classes.']}