多态和抽象类

原创 2015年07月09日 20:56:56

多态是面向对象的精髓,多态分静态和动态多态。

静态多态  ———— 重写重载

多态多态————编译期不知道多态的结果,要运行起来才会知道效果,根据绑定对象的不同而又不同结果。

instanceof做判断来判断传入参数  

package yun.day.zuo;
public class Rectanble extends Shape{
private int width;
private int height;
public Rectanble(int height,int width){
this.height = height;
this.width = width;
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
if (width > 0 && width < 15) {
this.width = width;
}
}
public int getHeight() {
return height;
}
public void setHeight(int height) {
if (height > 0 && height < 15) {
this.height = height;
}
this.height = height;
}

void draw(){
for (int i = 0; i < this.width; i++) {
for (int j = 0; j < this.height; j++) {
if (i == 0 || i == width-1) {
System.out.print("*");
}
if (i > 0 && i < width-1) {
if (j == 0 || j == height - 1) {
System.out.print("*");
}else{
System.out.print(" ");
}
}
}
System.out.println();
}
}
}


abstract:抽象类   可以在方法前面和类前面  在类前面叫抽象类  在方法前面叫抽象方法       抽象的东西只能被继承不能产生对象





c++多态之抽象类编程

c++之多态 继承 封装
  • SUP_PLAYBOY
  • SUP_PLAYBOY
  • 2016年04月26日 00:07
  • 375

07 为什么会有多态?为什么会有抽象类?

为什么会有多态? 多态,顾名思义就是:有多个形态的表现。 便于参数传递,优化代码,减少代码重复率。 为什么会有抽象类? 为了建立一种机制,强制子类必须重写此方法,完成此任务。...
  • w83325887
  • w83325887
  • 2016年08月08日 19:41
  • 499

面向对象(多态,抽象类,接口的比较)

(一)面向对象(多态) 多态概述: 多态实质上是同一个对象相应不同消息的能力,你理解不了也可以把它理解为事物存在的多种形态. 当然了能够理解实质当然更好. 多态的前提: 要有继承关系, 要有方法重...
  • tongzhengtong
  • tongzhengtong
  • 2015年09月10日 23:32
  • 1560

抽象类 接口 多态

抽象类(abstract) 在java中采用abstract关键字定义的类就是抽象类,采用abstract关键字定义的方法就是抽象方法 格式:public abstract class 类名{类体...
  • wu920604
  • wu920604
  • 2016年08月30日 11:29
  • 279

Java 多态的理解(使用抽象类)

多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 多态有两种表现形式:重载和覆盖...
  • u012289441
  • u012289441
  • 2014年09月19日 15:57
  • 902

java学习笔记之抽象类,接口,多态

抽象函数,抽象类 特点: 1、抽象方法一定定义在抽象类中,都需要abstract修饰 2、抽象类不能实例化 3、只有子类覆盖了所有的抽象方法后,子类就可以创建对象;如果子类没有覆盖抽象方法,子类还是一...
  • sinat_36713319
  • sinat_36713319
  • 2016年11月17日 21:49
  • 282

什么是抽象类? 抽象类如何演变多态

abstract class Abs{ private int i; public abstract void f(); } public class TestABsClass { ...
  • woshi2512901978
  • woshi2512901978
  • 2013年01月14日 22:23
  • 2727

C#基础-----抽象类实现多态

什么是抽象类:光说不做,不能被实例化的类 抽象类的特点: 1,需要用abstract关键字标记 2,抽象方法不能有任何方法实现,所以没有方法体 3,抽象成员必须包含在抽象类中 4,由于抽象成...
  • shang1010
  • shang1010
  • 2015年06月09日 15:12
  • 498

JAVA基础知识点(六)--接口,多态,继承,抽象类,重载的问题

一、抽象类: 什么是时候使用抽象类:          描述一类事物的时候,发现该事物确实存在着某种行为,但是目前这种          是不具体的,这时候应该抽取这种行为的声明,而不去实现...
  • ZBQ857143497
  • ZBQ857143497
  • 2016年09月29日 10:04
  • 494

Java中抽象类实现多态

不能new出抽象类对象,但可以定义一个抽象类的引用。 可以把一个子类对象的地址赋给抽象类的引用,然后通过抽象类的引用调用子类从父类继承过来的方法,即抽象类也可以实现多态 假设A是抽象类,B是A的子...
  • Rain722
  • Rain722
  • 2016年08月19日 11:48
  • 324
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多态和抽象类
举报原因:
原因补充:

(最多只允许输入30个字)