zoukankan      html  css  js  c++  java
  • C++语言与OO思想介绍 C++快速入门01

    C++语言与OO思想介绍

     

    让编程改变世界

    Change the world by program


     

    前言

     

    首先这门课程是比较难讲的,为什么呢?

    主要是由于“快速”!小甲鱼一向不主张做事浮夸,而从来的“速成”课程都是以浮夸为主题!编程能力绝对是时间和经验的积累! 在这里小甲鱼假设大家都C语言的基础,为了增进编程能力和思想而开的这门课程。 如果朋友你还没有任何编程语言的经验,建议先学习小甲鱼的《零基础入门学习C语言》系列课程。  

    C++语言简介

      C++是一种语言,仅仅是它的语法、特性、标准类库就已经是一门非常高深的课程,所以在开始学习的时候,必须先要打好基础。 在市面上有很多Visual C++的书,虽然其中可能会花1-2章来介绍C++的基本特性,但是那绝对不会让你入门。  

    C++的特点与OO思想

      C语言有一个优点,即它的速度可以很快。写出来的程序可以很精练、简单、小巧,不用为了解决某个问题环绕太平洋一大圈。 但如果将C和C++相比较,C++就经常会为了解决某个问题绕一个大圈,所以代码量相对较大,并且里边有一些不是必须的代码。 但C++有个绝对的优势,就是针对不同的对象去做实例化,这就是所谓的OO思想。  

    什么是OO思想

    在面对对象的思想中,任何事物都可以被看做一个对象。一个再复杂的模型结构都是由千千万万个对象组成的。这是根本思想。   例如:地球可以看做一个相当复杂的对象。地球上的每种动物、每种植物、空气、水、土壤等都是对象。 它们彼此之间互相联系、组合,最终形成了地球。而对于每个对象,抽象起来最终可以分为两个要素:属性和行为。 在面对对象编程中,程序员不再面对一个个函数和变量,而是要放眼大局,面对一个个对象来看问题。 每个对象都是一个完整的独立的个体,它是由相关的属性和行为组合,与外界分隔。   例如,一家跨国公司,它在全球有很多分公司,每个公司都有自己的员工和一套自己的运作体系。 对于总公司而言,分公司好比“黑箱”,总公司不需干预分公司如何调配人员工作等,只需下达命令和指标。 面向对象是当前软件开发方法的主流,其概念和应用早已超越了程序设计和软件开发本身而扩展到更加宽广的范围。   举个例子,例如我们的图形用户界面(GUI)编程,面向对象在这方面的能力是相当出众,以至于人们在那些并不直接支持面向对象的语言(例如C)中也创建了一些模拟OO的软件结构,以便进行GUI编程。典型例子:GNOME/GTK+工具。  

    OO思想的特点

     

    1. 封装

    封装意味着把对象的属性和方法结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。 封装是面向对象思想描述的基础,从此程序员面对的就不再是许多复杂的函数和过程实现,而是少数具有行为能力的个体实例。  

    2. 抽象

    抽象的过程是对具体问题进行概括的过程,是对一类公共问题进行统一描述的过程。为了使某些必要的信息得以顺利的交流,设计者必须制定一个抽象,就如同一个协议,一个得到所有参与活动的有效个体支持的协议。 例如面包房提供一个抽象——“订单”。  

    3. 继承

    子类对象拥有与其基类相同的全部属性和方法,称为继承。 这个事实上最容易理解:例如人都共有的一些属性:鼻子、眼睛、嘴巴……和一些方法:吃饭、睡觉、*&*&…… 可以由此基础上再整出亚洲人、欧洲人、非洲人…… 最后,我创造亚洲美女小红……  

    4. 多态

    多态是指在基类中定义的属性和行为被子类继承后,可以具有不同的数据类型或者表现行为等特性。 加入动物是一个基类,它的子类有老虎、兔子、狗、小鸟…… 那么作为动物有一个行为定义为Move(),那么这些子类继承下来后会根据自己的特性采取不同个性的Move()方式。  

    小结

    以上内容不是很明白?没关系,因为小甲鱼给大家描述的那只不过是轮廓,真正的“肏”作我们将结合实例来分析讲解。 下节课,我们将通过实例对比C和C++在编程上的差异来进行学习。 感谢大家的观看! [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://urlxf.qq.com/?ErUNVnF']视频下载[/Downlink] [Downlink href='http://kuai.xunlei.com/d/LNMYYCAUQIFZ']备胎下载[/Downlink]
  • 相关阅读:
    一个强大的在线开发IDE: CodeRun Studio
    PyQuery: 一个类似jQuery的Python库
    jQuery的图片剪切插件
    SVN导出两个版本之间的差异文件
    javascript中的focus()光标定位
    零分,裸奔真危险
    Django 截取中英文混合字符串
    360与金山网盾
    20100301:IE6的葬礼
    两个与jQuery相关的资源:导航条与提示
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3846092.html
Copyright © 2011-2022 走看看