封装(Encapsulation)是把对象的状态和行为绑到一起的机制,把对象形成一个独立的整体,并且尽可能的隐藏对象的内部细节。封装有两个含义:一是把对象的全部状态和行为结合一起,形成一个不可分割的整体。对象的私有属性只能够由对象的行为来修改和读取。二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。 封装的信息屏蔽作用反映了事物的相对独立性,我们可以只关心它对外所提供的接口,即能够提供什么样的服务,而不用去关注其内部的细节问题。 比如说使用手机,我们关注的通常是这个手机能实现什么功能,而不太会去关心这个手机的是怎么一步步制造出来的。 封装可看作是任何形式的隐藏(类型、实现、设计等) 2. 封装 class Car{ String color; int number; void run() {System.out.println(color+::+number); } } class CarDemo { public static void main(String[] args) { Car c=new Car(); c.color=red; c.number=4; c.run(); Car c1=new Car(); c1.color=black; c1.number=3; c1.run(); } } 消息是向对象发出的服务请求。 一个消息包含消息名、接受对象的标志、服务标志、输入信息、回答信息等。 消息传递机制。 3. 消息【5页】 类是一组具有相同数据结构和相同操作的对象的集合。 类是对象的抽象。 客观世界实际存在的都是对象,而不是类 。 类和对象的关系。 类是根据对象所具有的责任定义对象的类型。责任可以分为行为或状态,这些分别由方法或数据实现 4. 类【第4页】 继承(Inheritance)是一种连接类与类的之间的层次模型。继承是指特殊类的对象拥有其一般类的属性和行为。 继承意味着“自动地拥有”,即在特殊类中不必重新对已经在一般类中所定义过的属性和行为进行定义,而是特殊类自动地、隐含地拥有其一般类的属性和行为。 继承对类的重用性,提供了一种明确表述共性的方法。即一个特殊类既有自己定义的属性和行为,又有继承下来的属性和行为。 5. 继承 继承的描述 ?? public abstract class Person ??? { ??????? public abstract void show(); ??? } ??? public class Student : Person? ??? { ??????? public?override?void show() ??????? { ??????????? Console.WriteLine(我是学生!); ??????? } ??? } class StudentOfComputer ??? { ????????public void tShow(Person person)? ??????? { ??????????? person.show(); ??????? } ??? } 单重继承和多重继承的描述 定义:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。 多态性分为两种: 编译时的多态性。 运行时的多态性。 多态:能够用一种方式引用一个类的不同派生类,但获得的行为对应于所引用的派生类【子类重写、覆盖父类相关功能】 6. 多态性 一般/特殊结构 整体/部分结构 实例连接 消息连接 7. 结构与连接 1.3 面向对象方法论 1.3.1 面向对象分析 1. 获取问题域陈述 2. 建立系统的对象模型 3. 建立对象的动态模型 4. 建立系统的功能模型 1.3.1 面向对象分析 建立对象模型:标识和确定类,准备数据字典,确定关联,确定属性,使用继承来细化类,完善对象模型 建立对象的动态模型:准备脚本,确定事件,准备事件跟踪表,构造状态图 建立系统的功能模型:输入、输出等参数,数据流图 UML建模语言 UML建模语言 UML建模语言 UML建模语言 UML理论与实践 本课程采用平时成绩(包括出勤考核,课堂发言等)、实践(课程设计)和理论考试相结合的考核方法。总评成绩中平时成绩占30%,实践成绩占10%,期末考试占60%。实践按小组完成项目课程设计【用课外时间完成】,并提交书面报告的形式上交(小组最后汇报)。 课程安排【大纲】 教科书: UML基础与Rose建模实用教程 参考题目
原创力文档

文档评论(0)