-
Notifications
You must be signed in to change notification settings - Fork 0
/
file.tsv
We can make this file beautiful and searchable if this error is corrected: It looks like row 87 should actually have 1 column, instead of 2 in line 86.
106 lines (106 loc) · 27.5 KB
/
file.tsv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
What is OOPS? OOPS is abbreviated as Object Oriented Programming system in which programs are considered as a collection of objects. Each object is nothing but an instance of a class.
Write basic concepts of OOPS? Following are the concepts of OOPS:,Abstraction,Encapsulation,Inheritance,Polymorphism
What is a class? A class is simply a representation of a type of object. It is the blueprint/plan/template that describes the details of an object.
What is an Object? An object is an instance of a class. It has its own state, behavior, and identity.
What is Encapsulation? Encapsulation is an attribute of an object, and it contains all data which is hidden. That hidden data can be restricted to the members of that class.Levels are Public, Protected, Private, Internal, and Protected Internal.
What is Polymorphism? Polymorphism is nothing but assigning behavior or value in a subclass to something that was already declared in the main class. Simply, polymorphism takes more than one form.
What is Inheritance? Inheritance is a concept where one class shares the structure and behavior defined in another class. If Inheritance applied to one class is called Single Inheritance, and if it depends on multiple classes, then it is called multiple Inheritance.
What are manipulators? Manipulators are the functions which can be used in conjunction with the insertion (<<) and extraction (>>) operators on an object. Examples are endl and setw.
Explain the term constructor A constructor is a method used to initialize the state of an object, and it gets invoked at the time of object creation. Rules for constructor are: Constructor Name should be the same as a class name.A constructor must have no return type.
Define Destructor? A destructor is a method which is automatically called when the object is made of scope or destroyed. Destructor name is also same as class name but with the tilde symbol before the name.
What is an Inline function? An inline function is a technique used by the compilers and instructs to insert complete body of the function wherever that function is used in the program source code.
What is a virtual function? A virtual function is a member function of a class, and its functionality can be overridden in its derived class. This function can be implemented by using a keyword called virtual, and it can be given during function declaration.A virtual function can be declared using a token(virtual) in C++. It can be achieved in C/Python Language by using function pointers or pointers to function.
What is a friend function? A friend function is a friend of a class that is allowed to access to Public, private, or protected data in that same class. If the function is defined outside the class cannot access such information.A friend can be declared anywhere in the class declaration, and it cannot be affected by access control keywords like private, public, or protected.
What is function overloading? Function overloading is a regular function, but it can perform different tasks. It allows the creation of several methods with the same name which differ from each other by the type of input and output of the function.Example void add(int& a, int& b); void add(double& a, double& b); void add(int& a, int& b); void add(double& a, double& b); void add(struct bob& a, struct bob& b);
What is operator overloading? Operator overloading is a function where different operators are applied and depends on the arguments. Operator,-,* can be used to pass through the function, and it has its own precedence to execute
What is an abstract class? An abstract class is a class which cannot be instantiated. Creation of an object is not possible with an abstract class, but it can be inherited. An abstract class can contain only an Abstract method. Java allows only abstract method in abstract class while other languages allow non-abstract method as well.
What is a ternary operator? The ternary operator is said to be an operator which takes three arguments. Arguments and results are of different data types, and it depends on the function. The ternary operator is also called a conditional operator.
What is the use of finalize method? Finalize method helps to perform cleanup operations on the resources which are not currently used. Finalize method is protected, and it is accessible only through this class or by a derived class.
What are the different types of arguments? A parameter is a variable used during the declaration of the function or subroutine, and arguments are passed to the function body, and it should match with the parameter defined. There are two types of Arguments.Call by Value – Value passed will get modified only inside the function, and it returns the same value whatever it is passed into the function.Call by Reference – Value passed will get modified in both inside and outside the functions and it returns the same or different value.
What is the super keyword? The super keyword is used to invoke the overridden method, which overrides one of its superclass methods. This keyword allows to access overridden methods and also to access hidden members of the superclass.It also forwards a call from a constructor, to a constructor in the superclass.
What is method overriding? Method overriding is a feature that allows a subclass to provide the implementation of a method that overrides in the main class. It will override the implementation in the superclass by providing the same method name, same parameter, and same return type.
What is an interface? An interface is a collection of an abstract method. If the class implements an interface, it thereby inherits all the abstract methods of an interface.Java uses Interface to implement multiple inheritances.
What is exception handling? An exception is an event that occurs during the execution of a program. Exceptions can be of any type – Runtime exception, Error exceptions. Those exceptions are adequately handled through exception handling mechanism like try, catch, and throw keywords.
What are tokens? A compiler recognizes a token, and it cannot be broken down into component elements. Keywords, identifiers, constants, string literals, and operators are examples of tokens.Even punctuation characters are also considered as tokens. Example: Brackets, Commas, Braces, and Parentheses.
What is the main difference between overloading and overriding? Overloading is static Binding, whereas Overriding is dynamic Binding. Overloading is nothing but the same method with different arguments, and it may or may not return the equal value in the same class itself.Overriding is the same method names with the same arguments and return types associated with the class and its child class.
What is the main difference between a class and an object? An object is an instance of a class. Objects hold multiple information, but classes don’t have any information. Definition of properties and functions can be done in class and can be used by the object.A class can have sub-classes, while an object doesn’t have sub-objects.
What is an abstraction? Abstraction is a useful feature of OOPS, and it shows only the necessary details to the client of an object. Meaning, it shows only required details for an object, not the inner constructors, of an object. Example – When you want to switch on the television, it is not necessary to know the inner circuitry/mechanism needed to switch on the TV. Whatever is required to switch on TV will be shown by using an abstract class.
What are the access modifiers? Access modifiers determine the scope of the method or variables that can be accessed from other various objects or classes. There are five types of access modifiers, and they are as follows: Private,Protected,Public,Friend,Protected Friend
What are sealed modifiers? Sealed modifiers are the access modifiers where the methods can not inherit it. Sealed modifiers can also be applied to properties, events, and methods. This modifier cannot be used to static members.
How can we call the base method without creating an instance? Yes, it is possible to call the base method without creating an instance. And that method should be “Static method.”Doing Inheritance from that class.-Use Base Keyword from a derived class.
What is the difference between new and override? The new modifier instructs the compiler to use the new implementation instead of the base class function. Whereas, Override modifier helps to override the base class function.
What are the various types of constructors? There are three types of constructors: Default Constructor – With no parameters. Parametric Constructor – With Parameters. Create a new instance of a class and also passing arguments simultaneously. Copy Constructor – Which creates a new object as a copy of an existing object.
What is early and late Binding? Early binding refers to the assignment of values to variables during design time, whereas late Binding refers to the assignment of values to variables during run time.
What is ‘this’ pointer? THIS pointer refers to the current object of a class. THIS keyword is used as a pointer which differentiates between the current object with the global object. It refers to the current object.
What is the difference between structure and a class? The default access type of a Structure is public, but class access type is private. A structure is used for grouping data, whereas a class can be used for grouping data and methods. Structures are exclusively used for data, and it doesn’t require strict validation, but classes are used to encapsulate and inherent data, which requires strict validation.
What is the default access modifier in a class? The default access modifier of a class is Internal and the default access modifier of a class member is Private.
What is a pure virtual function? A pure virtual function is a function which can be overridden in the derived class but cannot be defined. A virtual function can be declared as Pure by using the operator =0.Example Virtual void function1() // Virtual, Not pure Virtual void function2() = 0 //Pure virtual Virtual void function1() // Virtual, Not pure Virtual void function2() = 0 //Pure virtual
What are all the operators that cannot be overloaded? Following are the operators that cannot be overloaded : Scope Resolution (::) Member Selection (.) Member selection through a pointer to function (.*)
What is dynamic or run time polymorphism? Dynamic or Run time polymorphism is also known as method overriding in which call to an overridden function is resolved during run time, not at the compile time. It means having two or more methods with the same name, same signature but with different implementation.
Do we require a parameter for constructors? No, we do not require a parameter for constructors.
What is a copy constructor? This is a special constructor for creating a new object as a copy of an existing object. There will always be only one copy constructor that can be either defined by the user or the system.
What does the keyword virtual represented in the method definition? It means we can override the method.
Whether static method can use nonstatic members? False.
What are a base class, subclass, and superclass? The base class is the most generalized class, and it is said to be a root class.A Subclass is a class that inherits from one or more base classes.The superclass is the parent class from which another class inherits.
What is static and dynamic Binding? Binding is nothing but the association of a name with the class. Static Binding is a binding in which name can be associated with the class during compilation time, and it is also called as early Binding.Dynamic Binding is a binding in which name can be associated with the class during execution time, and it is also called as Late Binding.
How many instances can be created for an abstract class? Zero instances will be created for an abstract class. In other words, you cannot create an instance of an Abstract Class.
Which keyword can be used for overloading? Operator keyword is used for overloading.
What is the default access specifier in a class definition? Private access specifier is used in a class definition.
Which OOPS concept is used as a reuse mechanism? Inheritance is the OOPS concept that can be used as a reuse mechanism.
Which OOPS concept exposes only the necessary information to the calling functions? Encapsulation
What is Object Oriented Programming? Object-Oriented Programming(OOPs) is a type of programming that is based on objects rather than just functions and procedures. Individual objects are grouped into classes. OOPs implements real-world entities like inheritance, polymorphism, hiding, etc into programming. It also allows binding data and code together.
Why use OOPs? OOPs allows clarity in programming thereby allowing simplicity in solving complex problems.Code can be reused through inheritance thereby reducing redundancy.Data and code are bound together by encapsulation.OOPs allows data hiding, therefore, private data is kept confidential.Problems can be divided into different parts making it simple to solve.The concept of polymorphism gives flexibility to the program by allowing the entities to have multiple forms
What are the main features of OOPs? Inheritance,Encapsulation,Polymorphism,Data Abstraction
What is an object? An object is a real-world entity which is the basic unit of OOPs for example chair, cat, dog, etc. Different objects have different states or attributes, and behaviors.
What is a class? A class is a prototype that consists of objects in different states and with different behaviors. It has a number of methods that are common the objects present within that class.
What is the difference between a class and a structure? Class: User-defined blueprint from which objects are created. It consists of methods or set of instructions that are to be performed on the objects.Structure: A structure is basically a user-defined collection of variables which are of different data types.
Can you call the base class method without creating an instance? Yes, you can call the base class without instantiating it if:It is a static method.The base class is inherited by some other subclass
What is inheritance? Inheritance is a feature of OOPs which allows classes inherit common properties from other classes. For example, if there is a class such as ‘vehicle’, other classes like ‘car’, ‘bike’, etc can inherit common properties from the vehicle class. This property helps you get rid of redundant code thereby reducing the overall size of the code.
What are the different types of inheritance? Single inheritance,Multiple inheritance,Multilevel inheritance,Hierarchical inheritance,Hybrid inheritance
What is the difference between multiple and multilevel inheritance? Multiple inheritance comes into picture when a class inherits more than one base class,Multilevel inheritance means a class inherits from another class which itself is a subclass of some other base class.Example: A class defining a child inherits from two base classes Mother and Father.Example: A class describing a sports car will inherit from a base class Car which inturn inherits another class Vehicle
What is hybrid inheritance? Hybrid inheritance is a combination of multiple and multi-level inheritance.
What is hierarchical inheritance? Hierarchical inheritance refers to inheritance where one base class has more than one subclasses. For example, the vehicle class can have ‘car’, ‘bike’, etc as its subclasses.
What are the limitations of inheritance? Increases the time and effort required to execute a program as it requires jumping back and forth between different classes.The parent class and the child class get tightly coupled.Any modifications to the program would require changes both in the parent as well as the child class.Needs careful implementation else would lead to incorrect results
What is a superclass? A superclass or base class is a class that acts as a parent to some other class or classes. For example, the Vehicle class is a superclass of class Car.
What is a subclass? A class that inherits from another class is called the subclass. For example, the class Car is a subclass or a derived of Vehicle class.
What is polymorphism? Polymorphism refers to the ability to exist in multiple forms. Multiple definitions can be given to a single interface. For example, if you have a class named Vehicle, it can have a method named speed but you cannot define it because different vehicles have different speed. This method will be defined in the subclasses with different definitions for different vehicles.
What is static polymorphism? Static polymorphism (static binding) is a kind of polymorphism that occurs at compile time. An example of compile-time polymorphism is method overloading.
What is dynamic polymorphism? Runtime polymorphism or dynamic polymorphism (dynamic binding) is a type of polymorphism which is resolved during runtime. An example of runtime polymorphism is method overriding.
What is method overloading? Method overloading is a feature of OOPs which makes it possible to give the same name to more than one methods within a class if the arguments passed differ.
What is method overriding? Method overriding is a feature of OOPs by which the child class or the subclass can redefine methods present in the base class or parent class. Here, the method that is overridden has the same name as well as the signature meaning the arguments passed and the return type.
What is operator overloading? Operator overloading refers to implementing operators using user-defined types based on the arguments passed along with it.
What is encapsulation? Encapsulation refers to binding the data and the code that works on that together in a single unit. For example, a class. Encapsulation also allows data-hiding as the data specified in one class is hidden from other classes.
What are ‘access specifiers’? Access specifiers or access modifiers are keywords that determine the accessibility of methods, classes, etc in OOPs. These access specifiers allow the implementation of encapsulation. The most common access specifiers are public, private and protected. However, there are a few more which are specific to the programming languages.
What is data abstraction? Data abstraction is a very important feature of OOPs that allows displaying only the important information and hiding the implementation details. For example, while riding a bike, you know that if you raise the accelerator, the speed will increase, but you don’t know how it actually happens. This is data abstraction as the implementation details are hidden from the rider.
How to achieve data abstraction? Data abstraction can be achieved through:Abstract class,Abstract method
What is an abstract class? An abstract class is a class that consists of abstract methods. These methods are basically declared but not defined. If these methods are to be used in some subclass, they need to be exclusively defined in the subclass.
Can you create an instance of an abstract class? No. Instances of an abstract class cannot be created because it does not have a complete implementation. However, instances of subclass inheriting the abstract class can be created.
What is an interface? It is a concept of OOPs that allows you to declare methods without defining them. Interfaces, unlike classes, are not blueprints because they do not contain detailed instructions or actions to be performed. Any class that implements an interface defines the methods of the interface.
What are virtual functions? Virtual functions are functions that are present in the parent class and are overridden by the subclass. These functions are used to achieve runtime polymorphism.
What are pure virtual functions? Pure virtual functions or abstract functions are functions that are only declared in the base class. This means that they do not contain any definition in the base class and need to be redefined in the subclass.
What is a constructor? A constructor is a special type of method that has the same name as the class and is used to initialize objects of that class.
What is a destructor? A destructor is a method that is automatically invoked when an object is destroyed. The destructor also recovers the heap space that was allocated to the destroyed object, closes the files and database connections of the object, etc.
What re types of constructors Types of constructors differ from language to language. However, all the possible constructors are: Default constructor,Parameterized constructor,Copy constructor,Static constructor,Private constructor
What is a copy constructor? A copy constructor creates objects by copying variables from another object of the same class. The main aim of a copy constructor is to create a new object from an existing one.
What is the use of ‘finalize’? Finalize as an object method used to free up unmanaged resources and cleanup before Garbage Collection(GC). It performs memory management tasks.
What is Garbage Collection(GC)? GC is an implementation of automatic memory management. The Garbage collector frees up space occupied by objects that are no longer in existence.
Differentiate between a class and a method. A class is basically a template that binds the code and data together into a single unit. Classes consist of methods, variables, etc Callable set of instructions also called a procedure or function that are to be performed on the given data
What is a final variable? A variable whose value does not change. It always refers to the same object by the property of non-transversity.
What is an exception? An exception is a kind of notification that interrupts the normal execution of a program. Exceptions provide a pattern to the error and transfer the error to the exception handler to resolve it. The state of the program is saved as soon as an exception is raised.
What is exception handling? Exception handling in Object-Oriented Programming is a very important concept that is used to manage errors. An exception handler allows errors to be thrown and caught and implements a centralized mechanism to resolve them.
What is the difference between an error and an exception? Errors are problems that should not be encountered by applications Conditions that an application might try to catch
What is a try/ catch block? A try/ catch block is used to handle exceptions. The try block defines a set of statements that may lead to an error. The catch block basically catches the exception.
What is a finally block? A finally block consists of code that is used to execute important code such as closing a connection, etc. This block executes when the try block exits. It also makes sure that finally block executes even in case some unexpected exception is encountered.
What are the limitations of OOPs? Usually not suitable for small problems,Requires intensive testing,Takes more time to solve the problem,Requires proper planning,The programmer should think of solving a problem in terms of objects
What is an interface? An interface refers to a special type of class, which contains methods, but not their definition. Only the declaration of methods is allowed inside an interface. To use an interface, you cannot create objects. Instead, you need to implement that interface and define the methods for their implementation.
What is meant by static polymorphism? Static Polymorphism is commonly known as the Compile time polymorphism. Static polymorphism is the feature by which an object is linked with the respective function or operator based on the values during the compile time. Static or Compile time Polymorphism can be achieved through Method overloading or operator overloading.
What is meant by dynamic polymorphism?Dynamic Polymorphism or Runtime polymorphism refers to the type of Polymorphism in OOPs, by which the actual implementation of the function is decided during the runtime or execution. The dynamic or runtime polymorphism can be achieved with the help of method overriding.
What is the difference between overloading and overriding? Overloading is a compile-time polymorphism feature in which an entity has multiple implementations with the same name. For example, Method overloading and Operator overloading.Whereas Overriding is a runtime polymorphism feature in which an entity has the same name, but its implementation changes during execution. For example, Method overriding.
How is data abstraction accomplished? Data abstraction is accomplished with the help of abstract methods or abstract classes.
What is an abstract class? An abstract class is a special class containing abstract methods. The significance of abstract class is that the abstract methods inside it are not implemented and only declared. So as a result, when a subclass inherits the abstract class and needs to use its abstract methods, they need to define and implement them.
How is an abstract class different from an interface? Interface and abstract class both are special types of classes that contain only the methods declaration and not their implementation. But the interface is entirely different from an abstract class. The main difference between the two is that, when an interface is implemented, the subclass must define all its methods and provide its implementation. Whereas when an abstract class is inherited, the subclass does not need to provide the definition of its abstract method, until and unless the subclass is using it.Also, an abstract class can contain abstract methods as well as non-abstract methods.
What are access specifiers and what is their significance? Access specifiers, as the name suggests, are a special type of keywords, which are used to control or specify the accessibility of entities like classes, methods, etc. Some of the access specifiers or access modifiers include “private”, “public”, etc. These access specifiers also play a very vital role in achieving Encapsulation - one of the major features of OOPs.
What is an exception? An exception can be considered as a special event, which is raised during the execution of a program at runtime, that brings the execution to a halt. The reason for the exception is mainly due to a position in the program, where the user wants to do something for which the program is not specified, like undesirable input.
What is meant by exception handling? No one wants its software to fail or crash. Exceptions are the major reason for software failure. The exceptions can be handled in the program beforehand and prevent the execution from stopping. This is known as exception handling.So exception handling is the mechanism for identifying the undesirable states that the program can reach and specifying the desirable outcomes of such states.Try-catch is the most common method used for handling exceptions in the program.
What is meant by Garbage Collection in OOPs world? Object-oriented programming revolves around entities like objects. Each object consumes memory and there can be multiple objects of a class. So if these objects and their memories are not handled properly, then it might lead to certain memory-related errors and the system might fail.Garbage collection refers to this mechanism of handling the memory in the program. Through garbage collection, the unwanted memory is freed up by removing the objects that are no longer needed.
Can we run a Java application without implementing the OOPs concept? No. Java applications are based on Object-oriented programming models or OOPs concept, and hence they cannot be implemented without it.However, on the other hand, C++ can be implemented without OOPs, as it also supports the C-like structural programming model.