面向对象的程序设计-jav张白一第三版第5章面向对象的程序设计-java张白一第三版第5章面向对象的程序设计-java张白一第三版第5章面向对象的程序设计-java张白一第三版第5章.ppt

面向对象的程序设计-jav张白一第三版第5章面向对象的程序设计-java张白一第三版第5章面向对象的程序设计-java张白一第三版第5章面向对象的程序设计-java张白一第三版第5章.ppt

  1. 1、本文档共154页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象的程序设计-jav张白一第三版第5章面向对象的程序设计-java张白一第三版第5章面向对象的程序设计-java张白一第三版第5章面向对象的程序设计-java张白一第三版第5章

第5章 消息、继承与多态        5.1 消 息   在面向对象技术中,对象与对象之间并不是彼此孤立的,它们之间存在着联系,对象之间的联系是通过消息来传递的。在面向对象的程序中,消息就是数据成员及成员方法的引用。 5.1.1 消息的概念   在日常生活中,人与人之间要进行交流。某人可以向别人提供服务,例如,他可以开汽车、教学生学习等;同时他也需要别人为他提供服务,例如,他要吃饭但不可能自己去种地,要穿衣不可能自己去织布,他必须请求别人的帮助;同样,他什么时间讲课,也必须得到他人的请求或命令。“请求”或“命令”便是人与人进行交流的手段。   在面向对象的系统中,把“请求”或“命令”抽象成“消息”,对象之间的联系是通过消息传递来实现的。当系统中的其他对象请求这个对象执行某个服务时,它就响应这个请求,完成指定的服务。通常,我们把发送消息的对象称为发送者,把接收消息的对象称为接收者。对象间的联系,只能通过消息传递来进行。对象也只有在收到消息时才被激活,去完成消息要求的功能。   消息就是向对象发出服务请求,是对数据成员和成员方法的引用。因此,它应该含有这些信息:提供服务的对象标识——对象名、服务标识——方法名、输入信息——实际参数、回答信息——返回值或操作结果。消息具有三个性质:   (1) 同一对象可接收不同形式的多个消息,产生不同的响应。   (2) 相同形式的消息可以发送给不同的对象,各对象所做出的响应可以是截然不同的。   (3) 消息的发送可以不考虑具体的接收者,对象可以响应消息,也可以对消息不予理会,对消息的响应并不是必须的。 5.1.2 公有消息和私有消息   在面向对象系统中,消息分为两类:公有消息和私有消息。当有一批消息同属于一个对象时,由外界对象直接发送给这个对象的消息称为公有消息;对象发送给自己的消息称为私有消息。私有消息对外是不开放的,外界不必了解它。外界对象只能向此对象发送公有消息,而不能发送私有消息,私有消息是由对象自身发送的。 5.1.3 特定于对象的消息   特定于对象的消息是指将所有能支持此对象可接收消息的方法集中在一起,形成一个大消息,称为特定于对象的消息。这些消息让对象执行这个方法而不管它可能做什么及怎么做。特定于对象的消息可分为以下三种类型:   (1) 可以返回对象内部状态的消息。   (2) 可以改变对象内部状态的消息。   (3) 可以做一些特定操作,改变系统状态的消息。   ?【示例程序C5_1.java】 不同类型消息的传递示例。     class Student     { public String name;      public char sex;       public int no;      public int age;      Student(int cno, String cname, char csex, int cage)      { name=cname;      sex=csex;       no=cno;      age=cage;       }    public void showNo(?){System.out.println(No:+no);}    public void showName(?){System.out.println(Name:+name);}    public void showSex(?){System.out.println(Sex:+sex);}    public void showAge(?){System.out.println(age:+age);}   }   class StudentScore   { private int no;    private double score;    public void sendScore(int cno,double cscore)    { //下面两条语句是对象发送给自身的消息,要求给自己的数据成员赋值,    //这是一种私有消息,外界是不知道的    no=cno;    score=cscore;    }    void printScore(?){System.out.println(No:+no+ score:+score);}   }   public class C5_1   {    public static void main(String[?] args)    { int m;

您可能关注的文档

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档