1. 封装:
封装的本质或目的其实程序对信息(数据)的控制力。
所以封装是有两个方面:该隐藏的隐藏起来,该暴露的暴露出来。
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
2.继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.动态特性
(1)抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
(2)多态性:
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
简要讲解了面向对象,接下来讲解重写、重载、泛型。
重写(覆盖)的规则:
1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载.
2、重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public>protected>default>private)。
3、重写的方法的返回值必须和被重写的方法的返回一致;
4、重写的方法所抛出的异常必须和被重写方法的所抛出的异常一致,或者是其子类;
5、被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写。
6、静态方法不能被重写为非静态的方法(会编译出错)。
重载的规则:
1、在使用重载时只能通过相同的方法名、不同的参数形式实现。不同的参数类型可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样);
2、不能通过访问权限、返回类型、抛出的异常进行重载;
3、方法的异常类型和数目不会对重载造成影响;
泛型:
是一种特殊的类型,它把指定类型的工作推迟到客户端代码声明并实例化类或方法的时候进行。在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个别对象。(这是当今较常见的定义)在程序编码中一些包含参数的类。其参数可以代表类或对象等等。(现在人们大多把这称作模板)不论使用哪个定义,泛型的参数在真正使用泛型时都必须作出指明。一些强类型编程语言支援泛型,其主要目的是加强类型安全及减少类转换的次数,但一些支持泛型的编程语言只能达到部分目的。
相关推荐
面向对象的编程(OOP)是面向对象软件开发过程中的第三个阶段,是指将 OOD 的系统设计模型用面向对象的程序设计语言予以具体实现,具体而言,OOP 是实现在面向对象设计模型中的各个对象所规定的任务。面向对象的编程...
不过,可以根据文件标题和描述提供的线索,进行面向对象系统分析与设计相关的知识点梳理。 面向对象系统分析与设计是软件工程领域的一个重要部分,它涉及如何使用面向对象的方法来分析和设计软件系统。面向对象方法...
教师可以设计一系列的项目任务,让学生在课前自学相关的面向对象编程概念,如类、对象、继承、封装和多态等。课堂时间则用来指导学生分组完成项目,解决实际问题,通过小组讨论和合作,深化对理论知识的理解和应用...
本主题涵盖了面向对象编程的基本原理、分析方法、设计模式以及相关工具和技术。以下是对这一主题的详细阐述: 1. 面向对象编程基础:面向对象编程(OOP)是一种编程范式,它基于“对象”的概念,对象包含数据(属性...
面向对象编程是一种编程范式,它基于“对象”的概念,其中对象是数据和操作这些数据的方法的集合。在这个“面向对象俄罗斯方块”项目中,我们可以深入探讨如何使用面向对象技术来实现经典游戏俄罗斯方块。 1. **类...
### 面向对象程序设计C++课后答案概述 #### 1. C++的发展历程与特性 - **发展历程**:C++是一种由Bjarne Stroustrup在1979年开始设计并实现的编程语言。它基于C语言进行扩展,旨在提供更强大的抽象机制和类型安全性...
本文将深入探讨这两个主题,并结合提供的文件《面向对象分析与设计(第3版).pdf》和《数据库原理(完整).pdf》来阐述相关知识点。 首先,让我们来看看面向对象(Object-Oriented,OO)编程。这是一种编程范式,它基于...
面向对象的系统分析与设计是计算机科学领域中的一个重要主题,它涵盖了软件开发过程中的一些关键概念和技术。本资源包括了相关的课件和课后答案,帮助学习者深入理解这一主题。以下将详细介绍其中涉及的主要知识点:...
UML(统一建模语言)是一种标准化的建模...通过学习本书,读者可以掌握面向对象技术的基本概念,熟悉面向对象的分析和设计方法,以及与UML相关的软件开发技术,并能够熟练运用Rational Rose等开发工具进行UML建模工作。
面向对象软件工程设计是软件开发领域的一个重要主题,它涵盖了从需求分析到软件实现的全过程。这个课题旨在让学生深入理解并掌握面向对象的思想体系、方法和技术,以及它们在实际项目中的应用。 首先,面向对象...
面向对象设计UML实践是软件工程领域中一个重要的学习主题,尤其对于理解复杂系统建模至关重要。本书的第二版深入探讨了如何运用统一建模语言(UML)进行面向对象设计,提供了丰富的实例和课后习题以巩固理论知识。...
### Java面向对象编程:从C++到Java的理解与过渡 #### 一、Java与C/C++的区别 在从C++转向Java的过程中,理解和掌握面向对象编程(OOP)是非常重要的。本篇文章将着重介绍Java与C/C++之间的主要差异,并探讨Java如何...
### 面向对象系统设计知识点详述 #### 一、面向对象系统设计概览 **面向对象系统设计**是一种软件开发方法,旨在通过模仿现实世界中的对象来构建软件系统。这种方法强调对象之间的交互和数据封装,使得软件更加...
面向对象分析与设计是软件工程领域中的重要方法论,它主要应用于复杂系统的设计与开发,以提高软件的可维护性和可扩展性。本篇大作业针对的是“京东物流厂库管理系统”的面向对象分析与设计,旨在通过UML(统一建模...
通过对以上知识点的深入学习和实践,你将能够更好地应对面试中的面向对象相关问题,提升你的编程技能,最终实现月薪的提升。记得,理论知识与实际项目经验相结合,才能真正精通面向对象的分析和设计。
面向对象程序设计是一种重要的编程范式,特别是在现代软件开发中占据主导地位。本文将详细介绍两个面向对象程序设计的课程方向,一个是C#程序设计,另一个是Windows程序设计,旨在帮助学生掌握面向对象编程技巧,为...
"设计模式可复用面向对象软件的基础"这一主题强调了设计模式在创建可维护、可扩展的面向对象软件中的核心作用。源码实现则为我们提供了实际应用这些模式的实例,帮助我们更好地理解和掌握它们。 在《设计模式:可...