面向对象的特征

面向对象的三个特征:封装、继承、多态

1、封装:

  • 是对象和类概念的主要特性
  • 把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或对象操作,对不可信的进行隐藏。

2、继承

  • 继承是指这样一种能力:它可以使用现有类的所有功能,并在无须重新编写原来的类的情况下对这些功能进行扩展。
  • 通过继承创建的新类称为“子类”或“派生类”。被继承的类称为“基类”、“父类”或“超类”。

3、多态

  • 多态指的是子类对象可以直接赋值给父类变量,但运行时依然表现子类的行为特征,这意味着同一个类别的对象在运行时可能表现出不同的行为特征。
  • 在OO方法中,常指在一般类中定义的属性或操作被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。
  • 前期绑定:在程序运行之前绑定,由编译器和连接程序实现,又叫做静态绑定。如static方法和final方法。
  • 后期绑定:在运行时根据根据对象的类型进行绑定,由运行时系统完成。也叫做动态绑定或运行时绑定。
  • 代码示例

 

//汽车接口   
interface Car {   
    // 汽车名称   
    String getName();   
  
    // 获得汽车售价   
    int getPrice();   
}   
  
// 宝马   
class BMW implements Car {   
    public String getName() {   
        return "BMW";   
    }   
  
    public int getPrice() {   
        return 300000;   
    }   
}   
  
// 奇瑞QQ   
class CheryQQ implements Car {   
    public String getName() {   
        return "CheryQQ";   
    }   
  
    public int getPrice() {   
        return 20000;   
    }   
}   
  
// 汽车出售店   
public class CarShop {   
    // 售车收入   
    private int money = 0;   
  
    // 卖出一部车   
    public void sellCar(Car car) {   
        System.out.println("车型:" + car.getName() + "  单价:" + car.getPrice());   
        // 增加卖出车售价的收入   
        money += car.getPrice();   
    }   
  
    // 售车总收入   
    public int getMoney() {   
        return money;   
    }   
  
    public static void main(String[] args) {   
        CarShop aShop = new CarShop();   
        // 卖出一辆宝马   
        aShop.sellCar(new BMW());   
        // 卖出一辆奇瑞QQ   
        aShop.sellCar(new CheryQQ());   
        System.out.println("总收入:" + aShop.getMoney());   
    }   
}  

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值