xxxxxxxxxx
class BaseClass {
private void notOverride() // private methods are not overridden
{ System.out.println("From parent m1()"); }
public void methodToOverride()
{
System.out.println("From the base class");
}
}
class DerivedClass extends BaseClass {
@Override // overriding method
public void methodToOverride()
{
System.out.println("From the derived class");
}
}
class Main {
public static void main(String[] args)
{
var obj1 = new BaseClass();
obj1.methodToOverride(); // the base class method
var obj2 = new DerivedClass();
obj2.methodToOverride(); // the overriden derived class method
}
}
xxxxxxxxxx
// A Simple Java program to demonstrate
// Overriding and Access-Modifiers
class Parent {
// private methods are not overridden
private void m1()
{
System.out.println("From parent m1()");
}
protected void m2()
{
System.out.println("From parent m2()");
}
}
class Child extends Parent {
// new m1() method
// unique to Child class
private void m1()
{
System.out.println("From child m1()");
}
// overriding method
// with more accessibility
@Override
public void m2()
{
System.out.println("From child m2()");
}
}
// Driver class
class Main {
public static void main(String[] args)
{
Parent obj1 = new Parent();
obj1.m2();
Parent obj2 = new Child();
obj2.m2();
}
}
xxxxxxxxxx
class Animal {
public void displayInfo() {
System.out.println("I am an animal.");
}
}
class Dog extends Animal {
@Override
public void displayInfo() {
System.out.println("I am a dog.");
}
}
class Main {
public static void main(String[] args) {
Dog d1 = new Dog();
d1.displayInfo();
}
}
xxxxxxxxxx
// A Simple Java program to demonstrate
// Overriding and Access-Modifiers
class Parent {
// private methods are not overridden
private void m1()
{
System.out.println("From parent m1()");
}
protected void m2()
{
System.out.println("From parent m2()");
}
}
class Child extends Parent {
// new m1() method
// unique to Child class
private void m1()
{
System.out.println("From child m1()");
}
// overriding method
// with more accessibility
@Override
public void m2()
{
System.out.println("From child m2()");
}
}
// Driver class
class Main {
public static void main(String[] args)
{
Parent obj1 = new Parent();
obj1.m2();
Parent obj2 = new Child();
obj2.m2();
}
}
xxxxxxxxxx
// A Simple Java program to demonstrate
// method overriding in java
// Base Class
class Parent {
void show()
{
System.out.println("Parent's show()");
}
}
// Inherited class
class Child extends Parent {
// This method overrides show() of Parent
@Override
void show()
{
System.out.println("Child's show()");
}
}
// Driver class
class Main {
public static void main(String[] args)
{
// If a Parent type reference refers
// to a Parent object, then Parent's
// show is called
Parent obj1 = new Parent();
obj1.show();
// If a Parent type reference refers
// to a Child object Child's show()
// is called. This is called RUN TIME
// POLYMORPHISM.
Parent obj2 = new Child();
obj2.show();
}
}
xxxxxxxxxx
using method-override in your index.js
1. npm install method-override --save
2. var methodOverride = require("method-override");
3. app.use(methodOverride("_method"));
//'_method' is what methodOverride will look for
method override in your UPDATE route:
* <form action = "/campgrounds/<%=campground._id%>/edit?_method=PUT"
method = "POST">
and EDIT routes:
xxxxxxxxxx
Method Overloading:
Access modifier can be same or different,
Return-Type can be same or different,
Parameters MUST be different, Method name MUST be same,
any method can be overloaded
Method Overriding:
After a method is inherited it is possible to change
the implantation of the method in the child class.
This concept is called overriding.
Method name, Parameter, and Return-Type MUST be same
access modifier MUST be same or more visible,
MUST happen in the sub class,
ONLY the instance methods can be overridden
@Override annotation MUST be applicable.
Static and Constructor cannot be override.
We can use the @Override annotation before the method
to declare the overriding.
EXAMPLE: get method WebDriver driver = new ChromeDriver();
driver.get("URL") ==> opens the url from chrome
xxxxxxxxxx
public class Multi{ //Super class
public void multi(){
………………
}
}
Public class Multiplication extends Multi(){
Public void multi(){
………..
}
Public static void main(String args[]){
Multi multiplication = new Multiplication(); //Polimorphism is applied
multiplication.multi(); // It calls the Sub class add() method
}
}
xxxxxxxxxx
Overriding means same method name and same parameter,
occur in different class that has
inheritance relationship.
we use method overriding to implement
specific functionality to the method.