首页 > 其他分享 >面向对象-继承

面向对象-继承

时间:2023-06-17 17:34:58浏览次数:32  
标签:name 继承 子类 面向对象 父类 public 构造函数

面向对象的继承是一种机制,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。继承可以使代码重用、提高代码的可扩展性和灵活性。

通过继承,子类可以继承父类的非私有属性和方法,并且可以在子类中添加自己特定的属性和方法。子类可以继承父类的行为,也可以重新定义或扩展父类的行为

// 父类
public class Animal {
    protected String name;

    public Animal(String name) {
        this.name = name;
    }

    public void eat() {
        System.out.println(name + " is eating.");
    }
}

// 子类
public class Cat extends Animal {
    public Cat(String name) {
        super(name); // 调用父类的构造函数
    }

    public void meow() {
        System.out.println(name + " is meowing.");
    }
}

public class Main {
    public static void main(String[] args) {
        Cat cat = new Cat("Tom"); // 创建子类对象

        cat.eat(); // 调用从父类继承的方法
        cat.meow(); // 调用子类的方法
    }
}

  

在Java中,super 是一个关键字,用于引用当前子类所继承的父类的成员(方法、属性、构造函数)。它可以用于以下几个方面:

  1. 访问父类的构造函数:在子类的构造函数中,可以使用 super 来调用父类的构造函数。这通常用于在子类构造函数中初始化从父类继承的属性。

  2. 访问父类的方法和属性:在子类中,可以使用 super 关键字来调用父类中的方法和属性。这可以在子类中重写父类的方法时,通过 super 来调用父类的方法实现,或者在子类中访问父类的属性。

 

标签:name,继承,子类,面向对象,父类,public,构造函数
From: https://www.cnblogs.com/mxleader/p/17487747.html

相关文章

  • 面向对象-封装
    面向对象的封装是一种面向对象编程的核心概念,它指的是将数据和对数据的操作封装在一个类中,通过类的访问权限控制,隐藏内部实现细节,提供公共接口供其他对象访问。封装的目的是实现数据的安全性和灵活性。通过将数据和操作数据的方法封装在一起,可以隐藏实现细节,防止外部直接访问和修......
  • 【web开发】使用Trait解决PHP面向对象中类只支持单继承的限制
    前言众所周知,PHP的面向对象和Java一样,类只支持单继承,即是一个类只能继承自一个父类,不能存在多个父类,这也很好理解,就像现实的人类社会一样,儿子继承自你的父亲,父亲继承自祖父。。。,但是在实际开发中很多时候我们想像c++一样使用多重继承。奈何PHP只能使用单继承,在Trait出现之前,在PHP......
  • 理论+实践:从原型链到继承模式,掌握 Object 的精髓(一)
    前言系列首发于公众号『前端进阶圈』,若不想错过更多精彩内容,请“星标”一下,敬请关注公众号最新消息。理论+实践:从原型链到继承模式,掌握Object的精髓(一)在之前的文章中,我们介绍了函数调用位置的不同造成了this绑定对象的不同,但对象到底是什么?为什么我们需要绑定他们呢?语法对象......
  • C++《面向对象程序设计课程设计》[2023-06-16]
    C++《面向对象程序设计课程设计》[2023-06-16]《面向对象程序设计课程设计》任务书时间:班级:一分组和评分周一上午8:30作业布置周四5/6节开始,周五12点前检查,提问并打分;每人完成自己的课程设计报告,不能复制其他同学的报告内容,报告中主要说明自己在设计中所作的工作。......
  • 面向对象编程-实例属性和类属性
    在实例中绑定属性,和直接在类种绑定属性是不一样的,实例中绑定的只能在实例中用如果Student类本身需要绑定一个属性,所有实例都可以访问,那么可以这么定义classStudent(object):name='Student'点击查看代码classStudent(object):score=100#定义类属性def__in......
  • 面向对象编程-获取对象信息
    获取对象类型使用type()type(123)<class'int'>type('str')<class'str'>type(None)<type(None)'NoneType'>type(abs)<class'builtin_function_or_method'>type(a)<class'......
  • 面向对象编程-类和实例
    定义类通过class关键字,类名通常是大写开头的单词,(object)表示这个类从哪个类继承下来,如果没有合适的继承类,就使用object类,这是所有类最终都会继承的类点击查看代码classStudent(object):pass创建好类,就可以根据Student类创建出Student的实例,创建实例是通过类名+()实现......
  • 92 面向对象 商品(多个属性)放入3个数组中
    对象packagecom.fqs.goods;publicclassGoods{privateintid;privateStringname;privatedoubleprice;privateintgeShu;publicGoods(){}publicGoods(intid,Stringname,doubleprice,intgeShu){this.id=......
  • 实验7 面向对象编程与内置模块
    实验任务1task1.py1classAccount:23def__init__(self,name,account_number,initial_amount=10):4self._name=name5self._card_no=account_number6self._balance=initial_amount7defdeposit(self,amount):......
  • 实验7 面向对象编程与内置模块
    task1源代码'''银行账户数据:持卡人姓名、账号、当前余额操作:取款、存款、打印账户信息、返回账户余额'''classAccount:'''一个模拟银行账户的简单类'''def__init__(self,name,account_number,initial_amount=10):''......