A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梦回唐朝 中级黑马   /  2013-8-23 23:02  /  1353 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 forward 于 2013-8-24 20:24 编辑

面向对象三大特性:继承,封装,多态,这个我早就背过了,但我想知道他们之间具体有什么关系呢?

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

7 个回复

倒序浏览
你对做一些,关于面向对象的题,你就明白他们之间的关系了,和他们 的用法和好处!
回复 使用道具 举报
已一个刚入java基础的了解。
继承:提高了代码的复用性,可以少些代码。
封装:给代码增加了权限。
多态:提高了代码的扩展性(貌似必须在继承的前提下)。

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
JAVA有三大特性,封装性,继承性,多态性
多态性是指“多种形式”多态包括方法重写和方法重载,它使用不同的实例而执行不同操作
继承嘛主要是指一个类继承另外一个类的方法和属性.可实现代码重用性.
封装性最代表就是类.将方法和属性一起包装到一个单元中,单元以类的形式实现
它们的联系应该都跟类有关吧!!

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
没有继承没有多态
相近子类提取共性属性方法生成父类 继承父类拥有父类属性方法
子类包含父类
封装隐藏属性
public class Person {
     public string name;
     public int age;
     public void sayHi(){
    }
}
public class Engineer extends Person
{
     public string programme;
     
     public void sayHi(){
     }
}
public class Musician extends Person{
      public string piano;

      public void sayHi(){
      
      }
}
随便写一个 只有继承了 才可以使用多态
Person p=new Engineer();
回复 使用道具 举报
封装、继承、多态

封装的概念好比一辆汽车,你学开车的时候只需学会诸如踩油门、刹车,转方向盘即可,无需去了解它的发动机是如何发动。

继承,类的理解,类起到的作用有:分类(你所用某个类创建的对象实际上该类的个案)和模板的作用,那么继承则起到了对类再次分类的作用,比如,有个类“动物”,“哺乳动物”继承“动物”,再往下“马”又继承了“哺乳动物”这个类。在这里,我们从下往上讲,首先,我们把某种东西划分出来,叫做“马”(当然还有“牛”,“鱼”等等),接着,我们发现,“马”,“羊”等还有很多共同的特点,于是,我们再次划分出了“哺乳动物”这个类,再次分类,我们则有了“动物”。但在实际开发中,我们一般是从上往下定义的,即先有了“动物”,再有“哺乳动物”,最后有“马”。

多态,正如所说一重写,二重载。用汉字来打个比方,比如“开”这个字,在不同的时候各有的意思,比如“开门”,“开窗”,甚至有“开车”,“开饭”等,具有相同名称但操作不同。具体的实现我就不累述了。

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
可以把三者当成java类的三个有机组成部分,他们在不同方面加强了类的功能,使得类更完美。

类的特点.jpg (13.76 KB, 下载次数: 6)

类的特点.jpg

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
     面向对象就好比是你们一家人是个整体是一个大的对象,你们家的每个人就是对象中的一个方法,你们的祖先就是你们的父类,因此你们继承了祖先(父类)的很多特性,而你们一家人和你们的祖先一起被封装了,所以别人只知道你们这个大家族(比如姓氏为王的家族)而不知道你们家(对象)的特性。你们大家族有很多的小家族(对象),也许你们家是做生意的,你大伯一家都是当兵的所以就这样多态性咯。

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马