深入理解面向对象的三大基本特征

我们都知道面向对象有三个基本特征:封装,多态和继承。

封装:

  我先来援引一 位网友写的段子:基本的变量已经不再浮游于一大段一大段的程序中了,它们已经放弃了(其实是程序员不用这种方式了)这种自由自在的存在方式,而是安稳的寄 居于庞大而蹒跚的“对象”内部,与外界隔开来,通过迂回曲折的间接途径与外部世界联系和通信。而这些对象,就是它们这些基本变量的生存机器!

  在面向过程的开发中,变量被暴露在整个程序中,不小心的一个修改就可能导致整个程序出错。 所以封装有利于我们让自己的程序更健壮。这个大家很好理解。

继承:

  提供了同一类对象共性的处理方法,子类继承父类共性的东西。 这样有利于代码的复用性,这个大家肯定也很好理解。

多态:

  估计大家不好理解的就是这个概念了,我当初也是这样的,而且一直以为函数的重载也是多态,最近看了某些大神的文章之后才理解了一点点。

  不同类对象对相同行为的不同反应,我们就把它叫做多态。 与继承相对应的是多态提供了对同一类对象差异性的处理方法,子类通过多态重写从父类继承的方法来实现子类的差异性。

  我来举一个简单的例子大家可以理解一下:

class Aninal{ 叫;}//叫是动物的一个方法

class 猫 extend Animal{叫;}

class 狗 extend Animal{叫;}

Animal 狗 = new 狗();

Animal 猫 = new 猫();

狗.叫();

猫.叫();

  这里的多态的态应该指的是形态,比如狗可以有Animal的形态,真正本质是将对象的型别忘掉,模糊了父类和子类之间的差异,用相同的形式去表达不同的行为! 这样有利于代码在复用性的基础上让子类表现自己的差异性。

时间: 2024-11-03 01:37:44

深入理解面向对象的三大基本特征的相关文章

面向对象的三大基本特征和五大基本原则

前言 前文提到,面向对象的三个特征:封装.继承.多态.那么面向对象是怎么体现这三个特征呢? 关于五大基本原则,个人找资料的时候看得头都大了,对新手(如我)来说还是比较有理解难度的,本篇用较为简单的表述来帮助理解,想先看进阶版(完全版)的可以先移步:牢记面向对象五个基本原则 面向对象的三大基本特征 1. 封装 封装,就是将客观事物抽象为逻辑实体,实体的属性和功能相结合,形成一个有机的整体.并对实体的属性和功能实现进行访问控制,向信任的实体开放,对不信任的实体隐藏.,通过开放的外部接口即可访问,无需

面向对象的三大基本特征,五大基本原则

网上的讲解很多,但大都类似,这里进行转载整理.三大基本特征是理解五大基本原则的前提. 一.三大基本特征:封装.继承.多态 1.封装 封装就是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别,将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员. 封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员. 面相对象的不

【java基础】面向对象的三大基本特征之-------继承

面向对象的三大特征:封装,继承,多态 java通过extends关键字来实现继承,而且是单继承,一个子类只可以有一个直接父类,但是父类还可以有父类... java.long.Object是所有类的父类,如果一个类没有声明继承于谁,那么默认就是继承于java.long.Object类 通过继承,子类可以获得父类的全部的属性和方法,同时进行拓展. 代码示例: 1 package extendss; 2 3 /** 4 * 类的继承演示代码 5 * 这是一个父类 train 火车类 6 * 默认继承于

C#面向对象的三大基本特征

封装: 封装是指将数据与具体操作的实现代码放在某个对象内部,使这些代码的实现细节不被外界发现(可以使代码更加安全),外界只能通过接口使用该对象,而不能通过任何形式修改对象内部实现,正是由于封装机制,程序在使用某一对象时不需要关心该对象的数据结构细节及实现操作的方法.使用封装能隐藏对象实现细节,使代码更易维护,同时因为不能直接调用.修改对象内部的私有信息,在一定程度上保证了系统安全性. 继承: 继承来源于现实世界,一个最简单的例子就是孩子会具有父母的一些特征,即每个孩子都会继承父亲或者母亲的某些特

面向对象的三大基本特征之一封装

封装概述 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改. 封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问.要访问该类的数据,必须通过指定的 方式.适当的封装可以让代码更容易理解与维护,也加强了代码的安全性. 原则 将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问. 封装性在Java当中的体现 方法就是一种封装 关键字private 也是一种封装 封装的操作——private关键字 private关键字作用: pri

【疯狂Java学习笔记】【理解面向对象】

[学习笔记]1.Java语言是纯粹的面向对象语言,这体现在Java完全支持面向对象的三大基本特征:封装.继承.多态.抽象也是面向对象的重要组成部分,不过它不是面向对象的特征之一,因为所有的编程语言都需要抽象. 2.面向对象开发方法比较结构化开发方法的优势在于可以提供更好的可重用性.可扩展性.可维护性. 3.基于对象和面向对象的区别:基于对象也使用了对象,但是无法通过现有的对象作为模板来生成新的对象类型,继而产生新的对象,也就是说,基于对象没有继承的特点.而面向对象有继承,而多态则是建立在继承的基

java中三大基本特征

java中的面向对象的三大基本特征是:[封装].[继承].[多态] 封装:对象要有一个明确的边界:边界的划分(对象各司其职.对象的粒度.对象的可重用性) 属性(bean.pojo):私有的private,有set和get方法 方法:公开或私有 ,public/private 方法声明和实现(interface,implements) 继承:共性放到父类,特性放到子类:子类,父类 --> 其实就是特殊 --> 一般 关键字: extends java中一个类最多只能有一个直接的父类,即单继承(具

面向对象的三大特征,封装、继承、多态的个人理解以及代码分析

面向过程:我们以前使用的是面向过程编程,你需要清除每个实现步骤,每个步骤每行代码都要仔仔细细的编写, 不知道过程就找不到结果,找到实现过程就可以得到实现结果. 例如: 我们在外打工租房子,我们需要了解每个每个房屋的出租信息,不然是找不到房子的. 面向对象:对象帮我们做事情,找到对应的对象我们就可以得到想要的结果.    例如: 我们找房子不在如此的繁琐,只要找到中介我们就不怕没有地方住,中介会帮你找房子,你只需支付对应的服务费即可. 面向对象的三大特征给我们带了巨大的好处,下面我们就来讲解一下.

聊一聊面向对象的三大特征

学习Java语言程序设计也有一段时间了.现在我想对封装.继承和多态,在Java中面向对象的三大特征,总结一下我的理解,不妥当的地方望大家包涵.  封装.给我的感觉封装就是一个包装,一个代码是否健壮,与用不用封装有很大的关系,封装就像是包裹一个礼物,不仅让礼物看起来更加精美,而且还完善了内容.请看代码: class Person {     private String name;     private int age;     public void say() {         Syste