面向对象

来源:互联网 发布:百度地图数据下载 编辑:程序博客网 时间:2024/06/04 19:21
1、B/S  Broswer/Server
C/S Client/Serve

面向机器
   01010101
汇编语言:介入了一些符号,标记来做程序

面向过程
    C高级程序语言 for(int i; i < 5; i++){}
    解决思考问题的角度
一步一步的解析,把一个大问题分解成好多小问题,然后多个小问题串联起来就解决了大问题,函数之间的调用;

面向对象
        思想:解决问题的时候,不陷入细节,他是站在对象整体的角度去考虑问题
  C++
java

对象:现实生活中的事物,万物皆对象
:对现实生活中的一类事物的抽象,抽象的存在,类好比图纸,
类就是由现实生活中的某一个具体的对象抽象而来,是一个模板,代表着具有相同特征和行为的一类对象;

面向过程:
  优点:适合对效率要求高,比较灵巧,底层,比如驱动程序的开发,跟硬件关系密切;
   缺点:不适合做大的项目,会产生成千上万的函数调用,他们之间的耦合度过长,密切,出了问题很难找,只要一个函数出了问题,可能整个功能都受到影响
面向对象
    优点:比较容易维护,后期的扩展,二次开发,功能上容易扩展,适合做大型项目
    缺点:效率相对较低,游戏,驱动。。。。

参数(消息)的传递
    涉及到对象和对象之间的传递,通过对象的行为来做传递
对象内部消息之间的传递
class Student{
public void say(String teacher){//形式参数:形参
drink(“water”);
System。out.println(“say........”);
}
}
        class Teacher
{
public void answer(String name)
{
  Student.say(name); //实参
}
}

面向对象的三大特征
1.封装
封装是隐藏甚至是欺骗,封装隐藏了对象内部的具体实现,只对外界开放了接口。封装性代表了现实世界生活中具体的对象,他们的特征所具有的隐蔽性,对象的属性一般是被隐藏起来的;一个对象的属性一般是被封装隐藏起来的,对象的行为方法一般是被开放的public。
class Student{
private String name;}
2.继承
子承父业,为了简化代码的书写;
为了重用,复用父类的代码;
extends
class A extends B{}
继承::父子关系 (is-a)  dog is a animal
组合:has -a apart of
class Computer{
KeyBoard  kb;
}
class KeyBoard{}

class Person{}
class Leg{}
      组合:键盘与电脑
      聚合:Leg与身体的关系;

3.多态
同一个引用可以调用不同对象类型的方法;
子类与父类之间的
父类的引用可以调用子类的方法;
程序在运行前将不知道要调用哪个方法;

0 0
原创粉丝点击