面向对象的三大特性

原创 2016年05月20日 12:26:43

首先,面向对象有两个重要的概念一定要理解:类和对象。对象指具体的人或物,比如一辆公交车就是一个对象。而对相同或相似的对象的集合就是类,比如车就是一个类,它包含公交车,小汽车等有共同特征的对象。
面向对象的三大特征分别是封装,继承,多态。
封装:将对象的状态信息即类的属性和类中的某个方法设置为private私有的,这样就允许只能该类访问,而其他的类不能直接访问到这个属性和方法,必须通过相应的get和set方法访问。
例如:有一个银行卡,它的属性卡号和余额不能被别人知道,这就要求把它设置为私有的。

public class Account {

    private String cardNo;
    private double balance;
    public String getCardNo() {
        return cardNo;
    }
    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }
    public double getBalance() {
        return balance;
    }
    public void setBalance(double balance) {
        this.balance = balance;
    }

}

继承:使用已存在的类的定义作为基础建立新类,其中已存在的类为父类,新类为子类,它们必须满足is a 的关系。比如Animal类和Cat类,cat is a animal.
通过继承,父类的代码就克隆到了子类中,这样就提高了代码的重复利用。在子类中还可以实现对父类方法的重写。要注意的是,子类重写的返回值类型必须是父类返回值类型的子类。代码实现:
Animal类

public class Animal {
    public void sleep(){
        System.out.println("----8 hours");
    }

}

Cat类

public class Cat extends Animal{
}

创建一个Cat对象,可以调用Animal中的sleep()方法。

public class Test {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Cat cat = new Cat();
        cat.sleep();
    }
}

在Cat类中可以重写sleep方法

public class Cat extends Animal{
    @Override
    public void sleep() {
        // TODO Auto-generated method stub
        System.out.println("--------10 hours-----");
    }
}

注意:父类中的私有属性子类也不能直接访问。

多态

实现多态需要具备的前提:
1 两个类之间有继承关系
2 子类重写了父类中的某个方法
3 父类的引用指向子类的对象

例如:Animal a=new Cat();
此时,a这个对象能访问到哪种方法由Animal决定,而具体怎么做由Cat决定。

public class Test {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Animal a = new Cat();
        a.sleep();
    }
}

输出的结果为
这里写图片描述

PHP7面向对象进阶

由king老师精心打造的PHP7面向对象进阶课程,主要介绍了PHP7面向对象中的一些新的特性的使用,并且深入介绍了面向对象的七大设计原则,并且通过实战案例完成常用类的封装,对于PHP开发人员技术进阶必备技能! 山哥出品,必属精品!
  • 2017年08月25日 16:10

面向对象的三个基本特征

面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对...
  • ztj111
  • ztj111
  • 2007-10-29 16:30:00
  • 51861

面向对象三大特性,五大原则

以前一直认为程序中的类有使用到封装继承多态就是面向对象设计,其实不然 封装,继承,多态只是面向对象的三大特性,但是在设计程序的时候并不是说类的结构使用到了(或是体现出了)这三个特性就是面向对象, ...
  • xtzmm1215
  • xtzmm1215
  • 2015-07-18 22:28:28
  • 7457

面向对象的三个基本特征,并简单叙述之?

答:  1.封装:         封装是指利用抽象数据类型和基于数据的操作结合在一起,数据被保护在抽象数据类型的内部,系统的其他部分只有通过包裹在数据之外被授权的操作,才能与这个抽象...
  • jstarlet
  • jstarlet
  • 2015-08-31 16:17:43
  • 1944

面向对象的三个特性

面向对象的三个特性这是我的第一个博客。 封装性 我对封装的理解就是,将我们需要隐藏或者权限隐藏的部分属性和方法,用private将之封装了,并在本类中提供对应的public–set、get方法。 ...
  • shujie_lin
  • shujie_lin
  • 2016-10-14 09:31:13
  • 114

面向对象三大特征和解决的问题

一:什么是“对象” 在计算机的世界里,对象(Object)就是进行研究的任何事物。小到螺丝钉,大道飞机大炮,都可以被看成是一个对象,每一个对象都有各自的属性和操作。以“狗”为例:颜色、体重等都是狗这...
  • dsa63
  • dsa63
  • 2014-02-04 14:32:07
  • 1100

Java <em>面向对象</em>三大<em>特性</em>之多态

Java <em>面向对象</em>三大<em>特性</em>之多态 会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0 为了良好体验,不建议使用迅雷下载 VIP下载您今日下载次数已达上限(为了良好...
  • 2018年04月22日 00:00

java基础之面向对象的三个特性

一、面向对象   面向对象是软件开发的一种方法。它具有三个基本特点:封装、继承、多态。 二、封装 1、封装:是指隐藏对象的属性和实现细节,仅对外提供共共访问方式。 2、好处:提高了代码的重用性...
  • u010213127
  • u010213127
  • 2015-03-13 15:35:50
  • 324

关于面向对象以及三大特征的解释

第一次写,想想就有点小激动。个人理解有不全的地方
  • super_xiaoY
  • super_xiaoY
  • 2016-12-06 10:39:19
  • 3595

面向对象的三大特点

面向对象的三大特点
  • lvsaixia
  • lvsaixia
  • 2014-11-13 19:41:28
  • 4272
收藏助手
不良信息举报
您举报文章:面向对象的三大特性
举报原因:
原因补充:

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