面向对象7:多态

1.多态
       1.1多态:一个失误的多种形态
       1.2多态的表现
        行为(方法)多态:重写和重载
        引用多态(动态绑定):编译时的类型和运行时不一致的这种现象
                     动态绑定
        注意:引用多态存在继承关系

        自动类型转换
        char c=10;
        int a=c;

        强制类型转换
        int a=10;
        char c=(char)a;

        向上转型
        父类=子类;
        Pet p = new Dog();

        向下转型
        子类 =(子类)父类;
        Dog d=(Dog) p;

        注意:java.lang.ClassCastException:类型转换异常
            父类的运行时类型跟要转成的子类的类型不一致

    1.3 多态【子类就是父类】
         为什么使用多态:
        提高程序可扩展性,可维护性,提高代码可重用性

        什么是多态:
        具有表现多种形态能力的特征 同一个实现接口,使用不同的实例而执行不同的操作        

//子类,圆形
public class Circular extends Graph {
        private final double X=3.14;        //半径

        public Circular(double r){
            super(r);
        }

        public void getArea(){
            double m=(super.getLen()*X*X);
            System.out.println("圆的半径为"+super.getLen()+"\n面积为"+m);
        }

//子类,长方形
public class Rectangle extends Graph {
    private double weight;            //宽度

    public  Rectangle(double len,double weight){
        super(len);
        this.weight=weight;
    }

    public double getWeight(){
        return weight;
    }

    public void getArea(){
        double m=(super.getLen()*this.getWeight());
        System.out.println("长方形的长为"+super.getLen()+",宽为"+this.weight+"\n面积为"+m);
    }

//父类
public abstract class Graph {
    private double len;            //图形的边长

    public Graph(double len){
        this.len=len;
    }

    //获取长度
    public double getLen(){
        return len;
    }

    //抽象面向方法
    public abstract void getArea();
}
时间: 2024-11-02 16:15:33

面向对象7:多态的相关文章

面向对象编程 多态

面向对象编程 -多态 对象的多态性是指在父类中定义的属性或行为被子类继承之后,可以具有不同的数据类型或表现出不同的行为.这使得同一个属性或行为在父类及其各个子类中具有不同的语义. 多态这个概念,在 Java 中指的是变量可以指向的对象的类型,可是变量声明类型的子类.对象一旦创建,它的类型是不变的,多态的是变量. 在 PHP5 中,变量的类型是不确定的,一个变量可以指向任何类型的数值.字符串.对象.资源等.我们无法说 PHP5 中多态的是变量. 我们只能说在 PHP5 中,多态应用在方法参数的类型

面向对象之多态

面向对象之多态: 由于子类重写父类方法,然后用父类引用指向子类对象,调用方法时候会进行动态绑定,这就是多态 面向对象编程之接口: 接口(interface)是抽象方法和静态常量定义的集合. 接口是一种特殊的抽象类,这种抽象类中只包含抽象方法和静态常量. 接口中没有其它类型的内容 接口的定义 interface 接口名{ public getName(); public setName($name);}在接口中的抽象方法只能是 public 的,默认也是 public 权限.并且不能设置成 pri

黑马程序员——Java基础---面向对象之多态

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流!                                                                     面向对象之多态 一:多态的概念  多态性在实际中的含义就是不同的对象有相同的一般轮廓或形态,但具体执行的过程却大相径庭

Python_day8_面向对象(多态、成员修饰符、类中特殊方法、对象边缘知识)、异常处理之篇

一.面向对象之多态 1.多态:简而言子就是多种形态或多种类型 python中不支持多态也用不到多态,多态的概念是应用与java/C#中指定传参的数据类型, java多态传参:必须是传参数的数据类型或传参的子类类型 面向对象总结: 面向对象是一种编程方式,此编程方式的实现是基于类和对象的使用 类:是一个模板,模板中包含了多个函数共使用,即类中可包含多个函数(类中的函数即叫做方法) 一般疑问: 1)什么样的代码才是面向对象? 简单来说,如果程序中的所有功能否是由 “类”和“对象”实现,那么就是面向对

go面向对象之多态即接口(interface)

1.go语言的多态是用接口来实现的interface package main import "fmt" //面向对象的多态是通过接口interface来实现的,不同的对象,调用相同的接口,实现不同的效果 //go语言中,接口interface是一个自定义类型,描述了一系列方法的集合,关键字interface //接口不能被实例化 //定义接口的方法 //type 接口名字 interface { // //} //接口的名字一般以er结尾 //定义一个Personer的接口 type

python 30 面向对象之 多态

目录 1,mixins机制 2,子类派生的新方法中重用父类的功能 3, 面向对象之--多态 4,一些内置函数的介绍 1,mixins机制 多继承的正确打开方式:mixins机制 mixins机制核心:就是在多继承背景下尽可能地提升多继承的可读性 ps:让多继承满足人的思维习惯=>什么"是"什么 使用Mixin类实现多重继承要非常小心 首先它必须表示某一种功能,而不是某个物品,python 对于mixin类的命名方式一般以 Mixin, able, ible 为后缀 其次它必须责任

面向对象之多态的三种方式

多态是面向对象最重要的特征之一,它能使得单一的类变得更多种类.简单来说多态主要有三种形式,分别是虚方法.接口和抽象类,三者各有特点,下面是代码对他们的描述: 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 //1.virtual method 6 Chinese ch1 = new Chinese("周润发"); 7 Chinese ch2 = new Chinese("刘德华"); 8 Ame

重新认识java(五) ---- 面向对象之多态(向上转型与向下转型)

多态,大概每个人都知道.但是,又有几个人真的理解什么是多态.多态有哪些细节呢?如果你看到这篇文章的名字,脑海中对多态没有一个清晰的概念,不妨点进来看看,也许会有收获. 什么是多态 简单的理解多态 多态,简而言之就是同一个行为具有多个不同表现形式或形态的能力.比如说,有一杯水,我不知道它是温的.冰的还是烫的,但是我一摸我就知道了.我摸水杯这个动作,对于不同温度的水,就会得到不同的结果.这就是多态. 那么,java中是怎么体现多态呢?我们来直接看代码: public class Water { pu

对面向对象中多态的理解

原文:http://www.cnblogs.com/xrq730/p/4820237.html 概述 我们都知道面向对象有四个基本特性:抽象.封装.继承.多态.这四个特性,概括起来可以这么理解,抽象.封装.继承是多态的基础,多态是抽象.封装.继承的表现.多态,是Java中非常重要的一个部分,所以今天来谈一下多态(Polymorphism). 什么是多态 不同类的对象对同一消息作出不同的响应就叫做多态.就像上课铃响了,上体育课的学生跑到操场上站好,上语文课的学生在教室里坐好一样. 多态的作用 简单

Java面向对象的多态

Java中多态的概念是面向对象中除封装和继承外非常重要的知识点,也是Java面向对象三大特性最后一个特性 多态其实就是指对象存在的多种形态,多态分为引用多态和方法多态 引用多态的含义就是:父类的引用可以指向它本类的对象,不仅如此父类的引用还可以指向子类的对象,这就是引用多态 用简单的代码来看一下引用多态的含义: 动物类:Animal 1 public class Animal { 2 public Animal(){ 3 System.out.println("Animal类的构造方法被执行&q