面向对象(一)

一、面向对象概述

  谈到面向对象就不得不谈谈面向过程,面向对象也是由面向过程发展而来。

  1. 面向过程思想概述

  面向过程,简而言之就是分步骤,过程化的去解决问题,代表语言有:Pascal,C等。

  第一步如何做,第二步如何做等等。

  2. 面向对象思想概述

  面向对象的程序设计(OOP)具体的实现步骤由对象完成,程序是由对象组成的,而用户不必关心其功能的具体实现过程,只要满足用户需求即可。代表语言:java,C++,Objective-C等。

  传统的的结构化程序设计通过一系列过程(即算法)来求解问题。一旦确定了这些过程,就要开始考虑存储数据的方式。这就是Pascal语言的设计者将其著作命名为《算法+数据结构 = 程序》的原因。 命名中,算法是第一位的,数据结构是第二位的,首先要确定如何操作数据,然后再决定如何组织数据,以便数据操作。而OOP调换了这个顺序,将数据放在第一位,然后再考虑操作数据的算法。【1】

  3. 例子

  面向过程:干家务,首先你得去准备或者买干家务的工具,然后去一步一步的做,直到把家务干完。(自己做)

  面向对象:干家务,直接找一个家政或者会干家务的,告诉他怎么干,一切交给他干。或者你找一个女朋友帮你干,前提是你能找到并且愿意帮你干,O(∩_∩)O哈哈~。(找对象)

  面向对象的例子很多,例如:你去面试,企业也不是用面向对象的思想去解决问题嘛,对他而言,你就是对象。他招聘你,就是你得具体帮他处理问题的能力,你是那个他不关心如何实现,只要能满足他需求的那个对象。

  万事万物都是对象,我也在不断的去领悟这句话,也许现在领悟的还不是很深刻,但是交给时间吧。

  4. 面向对象的特点

    a. 更符合我们思想的习惯

    b. 将复杂的问题简单化

    c. 角色发生了转变,我们由执行者变成了指挥者

  5. 面向对象开发

  简而言之,就是不断地去创建对象,使用对象,指挥对象做事情

  6. 面向对象设计

  其实就是在管理和维护对象之间的关系。

  7. 面向对象的特征(后续详谈)

    封装 (encapsulation)

    继承 (inheritance)

    多态 (polymorphism)

二、面向对象之类(类与对象)

  1.学习编程是为了什么?

  每个人有不一样的答案。我的直观感受就是赚钱。我的老师告诉我,追求卓越,成功会在不经意间追上你,这句话一直记在心间。扯远了啊,哈哈。

  学习编程是为了把我们日常生活中实物用学习的语言表述出来。

  2.我们如何去描述现实中的事物,或者说对象有什么特性?

  *属性 就是该事物的描述信息(事物身上的名词)。成员变量

  *行为 就是该事物能够做什么(事物身上的动词) 成员方法

  细化来讲,就是对象拥有行为,状态和标识(暂时不论)

  3.

  Java中最基本的单位是类。那么类是什么?

  类(class)是构造对象的模板或者蓝图。也可以说是一组相关属性和行为的集合。

  对象(object)则是该类事物的具体实现。

  由类构造(construct)对象的过程称为创建类的实例(instance)。

  

  注:【1】java核心 技术 卷I 第十版 第四章 对象和类 91~92页。

  

  

01_JavaSE之OOP--面向对象(类和面向对象的简单认识)的更多相关文章

  1. day24:面向对象设计与面向对象编程、类和对象

    一.三大编程范式: 面向过程: 面向函数: 面向对象: 二.程序的进化论: 1.编程最开始就是无组织无结构,从简单控制流中按步写指令 2.从上述的指令中提取重复的代码块或逻辑,组织到一起(比方说,你定 ...

  2. 面向对象编程(九)——面向对象三大特性之继承以及重写、Object类的介绍

    面向对象三大特性 面向对象三大特征:继承 :封装/隐藏 :多态(为了适应需求的多种变化,使代码变得更加通用!) 封装:主要实现了隐藏细节,对用户提供访问接口,无需关心方法的具体实现. 继承:很好的实现 ...

  3. Python之面向对象类和对象

    Python之面向对象类和对象 定义一个类:class 定义类的语法: class Test(object): """ 类里定义一类事物共同的技能. 可以是变量,也可是函 ...

  4. 图解Python 【第五篇】:面向对象-类-初级基础篇

    由于类的内容比较多,分为类-初级基础篇和类-进阶篇 类的内容总览图: 本节主要讲基础和面向对象的特性 本节内容一览图: 前言总结介绍: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 ...

  5. C#编程语言与面向对象——类与对象

    由于ASP.NET技术是全面向对象的,因此,要掌握这一技术,必须具备有扎实的面向对象理论基础 使用C#编程,所有的程序代码几乎都放在类中,不存在独立于类中之外的函数,因此,类是面向对象编程的基本单元 ...

  6. 从C#到Python —— 4 类及面向对象

    http://www.cnblogs.com/yanxy/archive/2010/04/04/c2p_4.html 如果你熟悉C#,那么对类(Class)和面向对象(Object Oriented) ...

  7. php入门 数据类型 运算符 语言结构语句 函数 类与面向对象

    php PHP-enabled web pages are treated just like regular HTML pages and you can create and edit them ...

  8. C++雾中风景1:友元类与面向对象

    因为后续准备入职的公司都希望能转C++,所以最近也是按部就班的开始进行C++的学习.然后这个系列的文章打算探究C++的语言特性,也比较一下不同语言(如Java,Scala,Python,Go)之间的设 ...

  9. linkin大话面向对象--类和对象

    我们每天在撸码,那么我们在敲什么东西呢?明显的我们在写类,写一个类,写一个接口,写某个接口里面写一些属性,在某个类里面写一个方法,然后以一个对象调用方法,对于j2ee来讲的话,可能还会写一些jsp,静 ...

  10. 第四节:详细讲解Java中的类和面向对象思想

    前言 大家好,给大家带来详细讲解Java中的类和面向对象思想的概述,希望你们喜欢 类和面向对象 在Java中怎样理解对象,创建对象和引用:什么是引用,对于基础学习的同学,要深入了解引用.示例:Stri ...

随机推荐

  1. JavaScript学习日志:关于js分号

    javascript有自动添加分号的功能,但是不是所有情况都会自动添加,要区分: 1,如果语句独占一行 如果当前行内的语句能够被js正确解析,那么就会在句尾添加一个分号. (如何判断是否正确解析?你在 ...

  2. 进程间通信之利用CreateFilemapping()

    这两天在复习进程间通信,复习一下记不住,复习一下记不住...就写个小博客献个丑,先来第一个内存映射 代码亲测通过 CreateFileMapping()的最后的一位用来做进程间通信 步骤: 1.Cre ...

  3. ROM、SDRAM、RAM、DRAM、SRAM、FLASH区别

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  4. vi使用手册

    VI是unix上最常用的文本编辑工具,我自己电脑上面也装了VIM编辑器,这个据称是程序员码字神器我实在没觉得那里舒服了,所以又用回了自己的Sublime.这里整理下vi常用操作,如果以后直接在Linu ...

  5. DOM4J使用简介

    Dom4j 使用简介 作者:冰云 icecloud(AT)sina.com 时间:2003.12.15   版权声明: 本文由冰云完成,首发于CSDN,未经许可,不得使用于任何商业用途. 文中代码部分 ...

  6. fullpage.js的easing参数怎样配置自定义动画

    首先看非官方文档 并没有详细的说明怎样去使用easing.js,所以我加的运动属性根本就不起作用, 再看,官方文档 Optionally, when using css3:false, you can ...

  7. PHP面试题超强总结(PHP中文网)

    PHP面试基础题目 1.双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解释 双引号的变量名后面必须要有一个非数字.字母.下划线的特殊字符, ...

  8. 零基础实现node+express个性化聊天室

    本篇文章使用node+express+jquery写一个个性化聊天室,一起来get一下~(源码地址见文章末尾) 效果图 项目结构 实现功能 登录检测 系统自动提示用户状态(进入/离开) 显示在线用户 ...

  9. 通过traceroute追踪并打印成图片

    #!/usr/bin/evn python #-*-coding:utf-8 -*- import time import logging,warnings import subprocess imp ...

  10. operator重载运算符

    1.重载运算符的函数一般格式如下 函数类型    operator  运算符名称    (形参表列) {对运算符的重载处理} 例如,想将"+"用于Complex(复数)的加法运算, ...