面向对象、类与对象、成员与局部变量、封装、private、构造函数、this、static、extends、super、final、abstract、interface、多态、内部类、异常【5】
来源:互联网 发布:广州三支箭网络 编辑:程序博客网 时间:2024/05/02 20:39
面向对象概念
理解面向对象
面向过程
在一个结构体中定义窗口的大小,位置,颜色,背景等属性,
对窗口操作的函数与窗口本身的定义没有任何关系,
如HideWindow,MoveWindow,MinimizeWindow,这些函数都需要接受一个代表要被操作的窗口参数 ,
是一种谓语与宾语的关系 。
面向对象
定义窗口时,除了要指定在面向过程中规定的那些属性,如大小,位置,颜色,背景等外,
还要指定该窗口可能具有的动作 ,
如隐藏,移动,最小化等。这些函数被调用时,都是以某个窗口要隐藏,某个窗口要移动的语法格式来使用的 ,
这是一种主语与谓语的关系。
面向过程的思想和面向对象的思想
面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,
你分析这个问题不再是第一步先做什么,
第二步再做什么,这是面向过程的思维,你应该分析这个问题里面有哪些类和对象,这是第一点,
然后再分析这些类和对象应该具有哪些属性和
方法。这是第二点。最后分析类和类之间具体有什么关系,这是第三点。
面向对象有一个非常重要的设计思维:合适的方法应该出现在合适的类里面
面向对象的设计思想
面向对象的基本思想是,从现实世界中客观存在的事物出发来构造软件系统,
并在系统的构造中尽可能运用人类的自然思维方式。
面向对象更加强调运用人类在日常生活的逻辑思维中经常采用的思想方法与原则,
如抽象、分类,继承、聚合、多态等。
人在思考的时候,首先眼睛里看到的是一个一个的对象。
面向对象的特点
• 这样简化开发并提高复用。
面向对象开发,设计,特征
面向对象还支持如下几个功能:
1)对象是面向对象方法中最基本的概念,它的基本特点是:
标识唯一性、分类性、多态性、封装性、模块独立性好。
2)类是具有共同属性、共同方法的一类事物。类是对象的抽象;对象则是类的实例。
而类是整个软件系统最小的程序单元,类的封装性将各种信息细节隐藏起来,
并通过公用方法来暴露该类对所提供的功能,
从而提高了类的内聚性,降低了对象之间的耦合性。
3)对象间的这种相互合作需要一个机制协助进行,这样的机制称为“消息”。
消息是一个实例与另一个实例之间相互通信的机制。
4)在面向对象方法中,类之间共享属性和操作的机制称为继承。继承具有传递性。
继承可分为单继承(一个继承只允许有一个直接父类,即类等级为树形结构)
与多继承(一个类允许有多个直接父类),
但Java不支持多继承。
在Java语言中除了8个基本数据类型值之外,一切都是对象,而对象就是面向对象程序设计的中心。
对象具有状态,一个对象用数据值来描述它的状态。
Java通过对对象定义Field(以前常被称为属性,现在也称字段)来描述对象的状态;
对象还有操作,这些操作可以改变对象的状态,
对象的操作也被称为对象的行为,Java通过为对象定义方法来描述对象的行为。
对象是Java程序的核心,所以在Java里的对象具有唯一性,每个对象都有一个标识来引用它,
如果某个对象失去了标识,这个对象将变成垃圾,只能等着系统垃圾回收机制来回收它。
Java语言不允许直接访问对象,
而是通过对对象的引用来操作对象。
在Java语言使用class关键字定义类,定义类时可使用Field来描述该类对象的数据,
可使用方法来描述该类对象的行为特征。
Java语言使用extends关键字来表示继承关系。
Java使用new关键字来创建指定类的对象,每个类可以创建任意多个对象,多个对象的Field值可以不同。
类与对象的关系
类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)。
对于同一类事物可以抽取它们的共性的内容,定义在类中。
如生活中的汽车,每一台车都有轮胎数和颜色。
那么在通过java描述汽车这类事物时,就可以将这两个共性属性作为类中的属性进行定义。
通过该类建立的每一个汽车实体都具有该属性,并可以有对象特有的属性值。
类的定义
成员变量和局部变量的区别?
- 面向对象、类与对象、成员与局部变量、封装、private、构造函数、this、static、extends、super、final、abstract、interface、多态、内部类、异常【5】
- JAVA基础再回首(四)——面向对象思想、类与对象、成员/局部变量、匿名对象、封装、private、this、构造方法
- Java重修之路(六)面向对象初识,类与对象,成员变量,局部变量,封装,构造函数,构造代码块,this关键字
- 黑马程序员_Java基础_面向对象(概述、类与对象关系、成员变量、封装private、构造函数和构造代码块、this关键字)
- Java基础05:面向对象;类与对象;匿名对象;成员变量;局部变量;封装;构造函数
- Java 笔记 及 面向对象 成员变量与局部变量的区别 面向对象3大特征:这里只写了封装,构造函数 .this关键字
- java基础七(成员变量 局部变量 匿名对象 封装 设计原则 private this 构造方法 static)
- 面向对象、匿名对象、成员、封装、主函数、成员变量、局部变量、构造函数、this、静态、主函数
- 7 面向对象(成员变量和局部变量的区别,类作为形式参数的问题,匿名对象,封装,private关键字,this关键字,构造方法,类的初始化过程,static关键字)
- 成员变量和局部变量的区别、方法的形参为类的情况及匿名对象、封装(private关键字)、this关键字、构造方法、static关键字
- Java基础-07.总结private,this,封装,static,成员方法变量,局部变量匿名对象
- 1、面向对象思想 2、类与对象的关系 3、局部变量和成员变量的关系 4、封装思想 5、private,this关键字 6、随机点名器
- (1.1.15)对象成员变量的构造函数和对象构造函数的执顺序以及Static、final、abstract、interface
- Java基础知识_day07_(面向对象,构造方法,封装,成员变量与局部变量)
- NO8.java笔记【面向对象、抽象类、abstract、接口、interface、多态 、内部类、匿名内部类、异常、Object类】
- 7. 面向对象 -- 成员与局部变量和封装
- 6.1面向对象(介绍,类与对象,封装,this关键字,构造方法,static关键字)
- 【JavaSE学习笔记】面向对象_01(入门,匿名对象,成员变量,局部变量,封装,this,构造方法)
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(十二)
- 自定义view—折线图
- Nuttx添加自己的应用程序HelloWorld
- 【Android - 框架】之Fresco的使用
- 第1.2章 运行django
- 面向对象、类与对象、成员与局部变量、封装、private、构造函数、this、static、extends、super、final、abstract、interface、多态、内部类、异常【5】
- 每天五分钟玩转opentack 阅读笔记
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(十三)
- 正则表达式教程
- GIAC 全球互联网架构大会最新日程抢先看!
- JVM-并发-线程安全与锁优化
- kNN-k近邻算法
- ≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(十四)
- linux curl命令使用