面向对象方法-大话设计模式+J2SE视频

简介: 面向对象方法-大话设计模式+J2SE视频

好像从接触编程开始,面向对象这个词总会出现。与面向对象方法作对比的是面向过程。


在大话设计模式这本书里,为什么要讲面向对象呢?并且作者在序言里提到,先看附录里的面向对象。作者为读者简述面向对象的知识,是希望避免读者对面向对象理解欠缺造成设计模式学习的障碍。


我在看J2SE视频时,老师也通过对比面向过程的方式讲述了面向对象的知识。

下面我们重新回顾关于面向对象的知识,明确其中的基本概念,之后和曾经学过的知识产生联系,利用实例去理解。


我首先讲一下我初步的理解:面向对象,是把过程封装成一个方法,在用的时候后去调用这个方法,而不用自己再去思考过程是什么。


在大话书里,利用了“动物运动会”这个实例的演变,把面向对象中:类、对象、封装、继承、多态、接口、事件、集合等概念介绍出来。接下来赘述一下这些概念。

对象

面向对象,什么是对象?万物皆对象(生活在客观世界中的个体)

类和实例

是具有相同的属性和功能的对象的抽象集合;

实例就是一个真实对象,实例化就是创建对象的过程,使用New关键字来创建。比如说,“动物”是一个抽象的概念,存在于想象中,很是模糊,但是实例化后,就是一个个能感受得到其存在的个体,比如猫,狗,老鼠。

方法和属性

方法是类或对象行为特征的抽象,用来完成某个功能操作,在C++语言中将方法称为成员函数。(若是类的对象能够响应让它在屏幕显示自己的消息,那么在类中必须给出成员函数的定义,即给出成员函数的实现代码)

属性指类中所定义的数据,它是对客观世界实体所具有的性质的抽象。类的每个实例都有自己的特有属性值。

抽象、封装、继承、多态

封装:把数据和实现操作的代码集中起来放在对象内部。即将对象看成是不透明的黑盒子,达到了信息隐蔽的目的,外人无法探知细节。

继承:子类从基类中直接获得已经定义的数据和方法的机制,不用重复定义,有效减少了程序的冗余信息。
多态:同样的消息在发送过程中,既可以发给父类对象,也可以发给子类对象,不分类等级。然而不同层次中的每个类按照各自的需要来实现这个方法。

从上面的概念,我的理解是:抽象,是封装、继承和多态的前提

基本概念在软件设计中如何考虑

我最近完成了学校里毕业设计。结合大话书和J2SE,在做设计前,我考虑了一些问题。1.系统里有哪些对象和类?2.对象和类拥有哪些属性?3.他们之间有什么关系,我去定义这之间的方法?

在J2SE里老师利用开车去西藏这个例子进行讲解。主体“我”,需要开车、挂挡、踩油门、经过河北、经过山西…都是“我”去做。那用面向对象方法呢?“我”只要想好去西藏的方式就可以了。

相关文章
|
6月前
|
设计模式 NoSQL Java
常用的设计模式以及操作Redis、MySQL数据库、各种MQ、数据类型转换的方法
常用的设计模式以及操作Redis、MySQL数据库、各种MQ、数据类型转换的方法
|
3月前
|
设计模式 数据库连接 PHP
PHP编程中的面向对象与设计模式
在PHP编程世界中,掌握面向对象编程(OOP)和设计模式是提升代码质量和开发效率的关键。本文将深入浅出地介绍如何在PHP中应用OOP原则和设计模式,以及这些实践如何影响项目架构和维护性。通过实际案例,我们将探索如何利用这些概念来构建更健壮、可扩展的应用程序。
|
2月前
|
设计模式 算法 PHP
PHP中的设计模式:策略模式的深入探索与实践在软件开发的广袤天地中,PHP以其独特的魅力和强大的功能,成为无数开发者手中的得力工具。而在这条充满挑战与机遇的征途上,设计模式犹如一盏明灯,指引着我们穿越代码的迷雾,编写出更加高效、灵活且易于维护的程序。今天,就让我们聚焦于设计模式中的璀璨明珠——策略模式,深入探讨其在PHP中的实现方法及其实际应用价值。
策略模式,这一设计模式的核心在于它为软件设计带来了一种全新的视角和方法。它允许我们在运行时根据不同情况选择最适合的解决方案,从而极大地提高了程序的灵活性和可扩展性。在PHP这门广泛应用的编程语言中,策略模式同样大放异彩,为开发者们提供了丰富的创作空间。本文将从策略模式的基本概念入手,逐步深入到PHP中的实现细节,并通过一个具体的实例来展示其在实际项目中的应用效果。我们还将探讨策略模式的优势以及在实际应用中可能遇到的挑战和解决方案,为PHP开发者提供一份宝贵的参考。
|
4月前
|
设计模式
对抗软件复杂度问题之组合(Composite)方法设计模式是什么,如何解决
对抗软件复杂度问题之组合(Composite)方法设计模式是什么,如何解决
|
4月前
|
设计模式 算法
交易链路设计原则&模式问题之中介者(Mediator)方法设计模式是什么,如何解决
交易链路设计原则&模式问题之中介者(Mediator)方法设计模式是什么,如何解决
|
4月前
|
设计模式 Java
交易链路设计原则&模式问题之依赖倒置原则体现在实际应用中,如何解决
交易链路设计原则&模式问题之依赖倒置原则体现在实际应用中,如何解决
|
5月前
|
设计模式 机器学习/深度学习 JSON
文件读取的高效方法与设计模式
文件读取的高效方法与设计模式
40 0
|
6月前
|
设计模式 算法 架构师
【搞懂设计模式】设计模式与面向对象原则
【搞懂设计模式】设计模式与面向对象原则
65 1
|
5月前
|
设计模式 存储 Java
JavaSE——面向对象高级二(2/4)-final关键字、常量、抽象类(认识抽象类、抽象类的好处、应用场景-模板方法设计模式)
JavaSE——面向对象高级二(2/4)-final关键字、常量、抽象类(认识抽象类、抽象类的好处、应用场景-模板方法设计模式)
28 0
|
设计模式 存储 Python
【从零学习python 】46. Python中的__new__和__init__方法解析及单例设计模式
【从零学习python 】46. Python中的__new__和__init__方法解析及单例设计模式
62 0

热门文章

最新文章

  • 1
    C++一分钟之-设计模式:工厂模式与抽象工厂
    43
  • 2
    《手把手教你》系列基础篇(九十四)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-下篇(详解教程)
    50
  • 3
    C++一分钟之-C++中的设计模式:单例模式
    58
  • 4
    《手把手教你》系列基础篇(九十三)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-上篇(详解教程)
    38
  • 5
    《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
    63
  • 6
    Java面试题:结合设计模式与并发工具包实现高效缓存;多线程与内存管理优化实践;并发框架与设计模式在复杂系统中的应用
    58
  • 7
    Java面试题:设计模式在并发编程中的创新应用,Java内存管理与多线程工具类的综合应用,Java并发工具包与并发框架的创新应用
    42
  • 8
    Java面试题:如何使用设计模式优化多线程环境下的资源管理?Java内存模型与并发工具类的协同工作,描述ForkJoinPool的工作机制,并解释其在并行计算中的优势。如何根据任务特性调整线程池参数
    50
  • 9
    Java面试题:请列举三种常用的设计模式,并分别给出在Java中的应用场景?请分析Java内存管理中的主要问题,并提出相应的优化策略?请简述Java多线程编程中的常见问题,并给出解决方案
    110
  • 10
    Java面试题:设计模式如单例模式、工厂模式、观察者模式等在多线程环境下线程安全问题,Java内存模型定义了线程如何与内存交互,包括原子性、可见性、有序性,并发框架提供了更高层次的并发任务处理能力
    78
  • 下一篇
    无影云桌面