初始多态

package Li;

public class Person {
String name;

public Person() {
    super();
}

public Person(String name) {
    super();
    this.name = name;
}

public void eat(){
    System.out.println(name+"正在吃面包");
}
}

package Li;

public class Student extends Person {

    public Student(String name) {
        super(name);

    }
public void eat(){
    System.out.println(this.name+"正在食堂吃早点");
}

}

package Li;

public class Famer extends Person  {

    public Famer(String name) {
        super(name);
        // TODO Auto-generated constructor stub
    }

public void eat(){
    System.out.println("我是农民"+name+"正在吃西瓜");
}
}

package Li;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
Person p;
p=new Student("李华");
p.eat();        

p=new Famer("袁隆平");
p.eat();

p=new Person("雷锋");
p.eat();

    }
    }
时间: 2024-11-05 17:36:41

初始多态的相关文章

继承和初始多态

继承 1.为什么要是用继承? 因为在一些类中种有一些相同(name 姓名.age年龄.id工号)的属性,他们的代码意思也是相同的,如果要在加一些扩展类的话那么也会有相同的属性这就造就了代码的冗余,这样的会大量的浪费空间,所以在开发中是很不好的,为了避免数据冗余我门就使用继承 2.继承的概念: 1.1个子类只允许继承一个父类 2.修饰不继承的类叫做密封类使用特殊的关键字sealed 3.假如PE(经理类)和SE(编程师类) 都继承Employee(员工类),那么被继承的类我们称之为父类,而继承其他

初始继承和多态

一.子类与父类 1.子类:父类 例如: Dog(子类):Anomal(父类) 子类(派生类)父类(基类和超类) 2.子类可以继承父类那些成员 (非私有成员,但是从技术角度,可以认为是父类的所有成员) 软件系统中的两个类符合is a时可以使用继承 例如: student is a person se is a employee 鸵鸟(ostrish)is a bird(错误结论!!!) ☆:继承模式下子类构造背后到底发生了什么? 如果我们想构建一个子类对象 //在Animal父类中 class A

第六章 初始继承和多态

一:本章目标 ①:理解继承的概念 ②:使用继承建立父类和子类以及继承的传递性.单根性 ③:访问修饰符 ④:多态的概念 ⑤:会使用虚方法实现多态 二:所谓继承: 在C#中,如果一个类后面通过冒号又跟了另外一个类,那么我们就称冒号前面的类为子类,冒号后面的类为父类.这种书写类的方式放映出来的关系就称为类的继承关系. 1.子类:派生类 父类:基类或者超类 2.满足什么条件的类可以使用继承?? 满足is a关系的两个类可以使用继承. 例如: 经理is a a 员工 程序员  is a 员工 学生 is

C++中多态的实现原理

1. 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数. 2. 存在虚函数的类都有一个一维的虚函数表叫做虚表.类的对象有一个指向虚表开始的虚指针.虚表是和类对应的,虚表指针是和对象对应的. 3. 多态性是一个接口多种实现,是面向对象的核心.分为类的多态性和函数的多态性. 4. 多态用虚函数来实现,结合动态绑定. 5. 纯虚函数是虚函数再加上= 0. 6. 抽象类是指包括至少一个纯虚函数的类. 纯虚函数:virtual void breathe()= 0:即抽象类!必须在子类实

2、C#面向对象:封装、继承、多态、String、集合、文件(上)

面向对象封装 一.面向对象概念 面向过程:面向的是完成一件事情的过程,强调的是完成这件事情的动作. 面向对象:找个对象帮你完成这件事情. 二.面向对象封装 把方法进行封装,隐藏实现细节,外部直接调用. 打包,便于管理,为了解决大型项目的维护与管理. 三.什么是类? 将相同的属性和相同方法的对象进行封装,抽象出 “类”,用来确定对象具有的属性和方法. 类.对象关系:人是类,张三是人类的对象. 类是抽象的,对象是具体的.对象可以叫做类的实例,类是不站内存的,对象才占内存. 字段是类的状态,方法是类执

继承、封装和多态的一个简单应用(答答租车系统)

Car.java package com.imooc; //使用面向对象的封装特性public class Car {    // 描述汽车可能有特征    private String name; // 车的名称    private double cargoCapacity;// 车的载货量    private int busLoad;// 车的载客量    private int dailyRent;// 车的日租金 public String getName() {        re

OC学习篇之---类的三大特性(封装,继承,多态)

之前的一片文章介绍了OC中类的初始化方法和点语法的使用:http://blog.csdn.net/jiangwei0910410003/article/details/41683873,今天来继续学习OC中的类的三大特性,我们在学习Java的时候都知道,类有三大特性:继承,封装,多态,这个也是介绍类的时候,必须提到的话题,那么今天就来看一下OC中类的三大特性: 一.封装 学习过Java中类的同学可能都知道了,封装就是对类中的一些字段,方法进行保护,不被外界所访问到,有一种权限的控制功能,Java

构造器内部的多态方法的行为

每天发出自己学习的内容,坚持坚持... class Glyph{ void draw() { System.out.println("Glyph.draw()"); } Glyph() { System.out.println("Glyph() before draw()"); draw(); System.out.println("Glyph() after draw()"); }}class RoundGlyph extends Glyph{

网易云课堂_C++程序设计入门(上)_第6单元:丹枫虽老犹多态–继承与多态

第01节:继承 回顾 面向对象的4个特点: A(抽象) P(多态)I(继承)E(封装) 前两个单元:AE 本单元: PI 第02节:构造函数和析构函数 派生类继承的成员 派生类继承 ctor 和 dtor 吗? 派生类不继承的特殊函数 构造函数 (C++11已允许继承) 析构函数 作为特权地位的友元函数 赋值运算符函数 #include <iostream> struct A { A(int i) { } A(double d, int i) { } // ... }; struct B :