When do you absolutely have to declare a class as abstract (as opposed to free-willed educated choice or decision based on UML diagram)?

Asked by Last Modified  

Follow 0
Answer

Please enter your answer

Home Tutor

When the class itself is inherited from an abstract class, but not all base abstract methods have been overridden.
Comments

Software Developer and Trainer with 10 years of experience

I hope you are aware of what Abstract Class is . Lets say an Example. You are developing a Library that Detects User Interaction with the device and enable the developer to define their own response to the user. Let me Name it as an InputHandler Class. In this case, you are defining functions for...
read more
I hope you are aware of what Abstract Class is . Lets say an Example. You are developing a Library that Detects User Interaction with the device and enable the developer to define their own response to the user. Let me Name it as an InputHandler Class. In this case, you are defining functions for each user interaction line key press, mouse click, etc i.e EventDetection. Now When you define the InputHandler class. You cannot declare the functions that will be called on the appropriate user interaction, But you cannot define it, because the response is different for different applications that use the library. In this case you can make the InputHandler abstract by declaring the EvnetDetecting functions virtual. Hope you understood ... read less
Comments

Tutor

Imagine you have some set of inter related classes like mango , apple ,banana all these classes are having same functionality so instead of creating again repeated methods in these classes i will create a more generalized method fruits and in that i define the idea means how to do it and later on sub...
read more
Imagine you have some set of inter related classes like mango , apple ,banana all these classes are having same functionality so instead of creating again repeated methods in these classes i will create a more generalized method fruits and in that i define the idea means how to do it and later on sub classes will implement those ideas so in a company many people will work for 2 or 3 years and leave the company we cant take the code of them what they have written i mean to say in projects many people mainly project managers create abstract classes and later on sub ordinates will use or override the function of that idea which is present in abstract class like that it works.when project are very big we just modify the code in abstract class it will automatically modified in sub class it is like kind of relationship eg : mango is kind of fruit like that and once i declare a class abstract i have to override it if i declare it virtual then it is upto me to override or not .Now coming to interface when classes are not related like cycle , train , bus means bus is belonging to automobile class and cycle to some other class but these different classes want to implement common functionality then interface is used and it is used to overcome the draw back of multiple inheritance as i can implement multiple interfaces and there is another drawback in inheritance using base class object i cannot call the sub class function to overcome that abstract classes are used .Try this stuff using code you will understand better thank you read less
Comments

View 1 more Answers

Related Questions

Why are C and C++ faster than other programming languages?
C is basic programming language. It is very simple language & interested. C is procedural programming language
Profile Photo
Kalyani
0 0
View Comments8
Can an ECE graduate with some knowledge of C language learn SQL?
Yes ECE graduate student learn SQL languuage bcuz SQL is. A structured query language. it all query depends upon the logic. In which table is used Nd database is maitained
Profile Photo
Anand
0 0
View Comments5
What are the flaws of the C programming language?
The C programming language, while powerful and widely used, has some inherent flaws. One notable limitation is its lack of built-in support for dynamic memory management and bounds checking. This can lead...
Profile Photo
Sounak
0 0
View Comments7
How would you round off a value from 1.66 to 2.0?
By adding 1.0 (float) to the integer part (type casted) of 1.66.
Profile Photo
Dhanya
0 0
View Comments6
What is the meaning of \n and \t in C language?
(New line) -- We use it to shift the cursor control to the new line. \t (Horizontal tab) -- We use it to shift the cursor to a couple of spaces to the right in the same line.
Profile Photo
Munawar
0 0
View Comments5

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons

Software Development Training In Jaipur
Satyam Web Solution provides website designing &development and software designing &development training in Jaipur for various stream’s students. MCA 6 month Industrial Training/Internship B....
Profile Photo

Dynamic Memory Allocation in C using malloc()
#include <stdio.h>#include <conio.h>//#include <malloc.h> OR#include <stdlib.h>void main(){ int *ptr, i, n, sum = 0; printf("how many elements ? "); scanf("%d", &n);...
Profile Photo

Do You Know How Is Size Of Structure Defined?
Size of the structure is defined based on multiplies of bigger data type member in the structure. Example: If a structure contains integer, char, short data type, then size of the Structure will be multiples...
Profile Photo

C for Begginers
C is an procedure oriented programming language. For any begginer the word program is new. Program: Set of instructions to be followed by machine or computer. Instruction Examples: Arithmetic instruction...
Profile Photo

INTRODUCTION TO PROGRAMMING LANGUAGES
Language is a medium for communication. If we want to perform anything with another person, we can know the human language as a human being. Similarly, if we want to perform anything with a computer, we...
Profile Photo

Recommended Articles

Lasya Infotech is a Hyderabad based IT training institute founded in 2016 by O Venkat. Believing in his innovation, passion and persistence and with a diverse blend of experience, he started his brainchild to deliver exemplary professional courses to aspiring candidates by honing their skills. Ever since the institute envisions...

Read full article >

Brilliant Academy is one of the reputed institutes for B.Tech tuition classes. This institute is specialised in delivering quality tuition classes for B.E, Engineering - all streams and Engineering diploma courses. Incorporated in 2012, Brillant Academy is a brainchild of Mr Jagadeesh. The main motto of the academy is to...

Read full article >

Whether it was the Internet Era of 90s or the Big Data Era of today, Information Technology (IT) has given birth to several lucrative career options for many. Though there will not be a “significant" increase in demand for IT professionals in 2014 as compared to 2013, a “steady” demand for IT professionals is rest assured...

Read full article >

Hadoop is a framework which has been developed for organizing and analysing big chunks of data for a business. Suppose you have a file larger than your system’s storage capacity and you can’t store it. Hadoop helps in storing bigger files than what could be stored on one particular server. You can therefore store very,...

Read full article >

Looking for C Language Classes?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you