java面对对象

什么是面对对象:

就是把事务抽象成类,利用属性和方法描述他的特征;

面向对象的三大特性:

1、封装
隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。
2、继承
提高代码复用性;继承是多态的前提。
3、多态
父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。

五大基本原则:

1、单一职责原则SRP(Single Responsibility Principle)
类的功能要单一,不能包罗万象,跟杂货铺似的。
2、开放封闭原则OCP(Open-Close Principle)
一个模块对于拓展是开放的,对于修改是封闭的,想要增加功能热烈欢迎,想要修改,哼,一万个不乐意。
3、里式替换原则LSP(the Liskov Substitution Principle LSP)
子类可以替换父类出现在父类能够出现的任何地方。比如你能代表你爸去你姥姥家干活。哈哈~~
4、依赖倒置原则DIP(the Dependency Inversion Principle DIP)
高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。就是你出国要说你是中国人,而不能说你是哪个村子的。比如说中国人是抽象的,下面有具体的xx省,xx市,xx县。你要依赖的是抽象的中国人,而不是你是xx村的。
5、接口分离原则ISP(the Interface Segregation Principle ISP)
设计时采用多个与特定客户类有关的接口比采用一个通用的接口要好。就比如一个手机拥有打电话,看视频,玩游戏等功能,把这几个功能拆分成不同的接口,比在一个接口里要好的多。


最后

1、抽象会使复杂的问题更加简单化。
2、从以前面向过程的执行者,变成了张张嘴的指挥者。
3、面向对象更符合人类的思维,面向过程则是机器的思想

原文地址:https://www.cnblogs.com/wzq-xf/p/11775057.html

时间: 2024-10-10 12:59:26

java面对对象的相关文章

java面对对象 关键字this super

this:this是指向对象本身的一个指针,成员函数内部指向当前类的对象 其实this主要要三种用法: 1.表示对当前对象的引用! 2.表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下. 3.用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法).但是这里必须非常注意:只能引用一个构造方法且必须位于开始! 还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有th

java——面对对象

软件出现的目的:*用计算机的语言来描述世界*用计算机解决现实世界的问题 面向对象的思想 描述 面向对象的世界 面向对象设计和开发程序的好处:*交流更加流畅*提高设计和开发效率 构造方法:构造方法是用来描述对象创建的过程,构造方法在对象创建的过程中被调用 语法: 访问修饰符 构造方法名(){ //初始化代码}注意:构造方法名必须和类名相同:没有返回值: 方法重载:*方法名相同*参数项不同*与返回值和访问修饰符无关 this关键字用法: 调用属性:this.属性名=100: 调用方法: this.方

java 面对对象的三大特性

我们先要知道类的访问修饰符: public:公共的,在同一工程中任意地方都能访问. protected:受保护的,在同一包中课可以访问,不同包中的自己的“子类”中也可以访问:能被继承. Default:默认访问:同一包中的其他类使用,早同一包中能被继承, Private:私有的,只有在当前类使用:不能被继承,重写. 1.封装: 封装可以提高代码的重用性,能够隐藏实现细节. 是使类中的成员变量都是private,并提供public 方法访问这些成员变量的技术. 2.继承:(extends) 在面向

Java面对对象之封装

学习到了封装,也希望这篇文章能个给后面学习java的人一点帮助. 首先我们用实际问题先感受一下封装的概念. 用人来举例,人的年龄是有限的,0-120左右 我们在社交网站填写个人信息的时候,也会有年龄这一项,那么这个年龄允许填写负数或者很大的数吗? 实际上是不允许的. 这个时候实际上是对年龄这一项做出了某些条件的限制 再比如,中国人的名字. 登记户口的时候,名字和领导人的名字同名是否可行? 还是不行,因为国家不予许这样做 这个时候国家对名字这一项也做出了条件限制 回到我们程序 public sta

java面对对象-类与对象

一.定义类 类的重要性,所有Java程序都以类class为组织单元   如何定义类     一个全面的类定义比较复杂,如: package 包名; class 类名 extends 父类 implements 接口名{ 成员变量; 构造方法; 成员方法; } 定义类的步骤: a.定义类名 b.编写类的属性 c.编写类的方法 /** * 定义一个car类 */ public class car{ //属性 public String name; //车的名字 public int color; /

java面对对象入门(4)-程序块初始化

Java实例初始化程序是在执行构造函数代码之前执行的代码块.每当我们创建一个新对象时,这些初始化程序就会运行. 1.实例初始化语法 用花括号创建实例初始化程序块.对象初始化语句写在括号内. public class DemoClass { //This is initializer block 1 { //statements } //This is initializer block 2 { //statements } } 2.Java实例初始化器功能 实例初始化器具有以下功能. 我们可以在

java面对对象(六)--内部类、匿名内部类

内部类 可以在一个类的内部定义另一个类这种类成为内部类或嵌套类,比如: 1 class Outer{ 2 - 3 class Inner{ 4 -. 5 } 6 } 7 class Outer1{} // 这个Inner1不是Outer1的内部类,不在Outer1的类体括号内 8 class Innter1{ 9 -- 10 } 11 Class Outer2{ //Inner2虽然是在Outer2的方法内,但还是在Outer2的类体括号内,是内部类 12 -- 13 public void t

基于java面对对象编程范式

科学思维&工程思维 科学思维:限制条件可有可无,理论可行寻求未解决问题转变为解决问题的最优解: 工程思维:限制条件多,现实可行性下寻求折中方案,不坏的解. 软件工程的发展历史: 数学-计算机问题   计算机-冯诺依曼模型 软件工程-用工程的问题来开放软件 计算机思维: 数学为计算机提供理论和基础-现实问题->数学->计算机解决 计算机用特有的软件(编程范式:命令式 函数式)和硬件(硬件结构:冯诺依曼结构 哈佛结构) 软件框架:编程范式(命令式 函数式 逻辑式) 层次性(机器指令 汇编指

Java入门——(2)面对对象(上)

关键词:面对对象.类..构造方法.this.static.内部类 一.面对对象的概念:把解决的问题安装一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题.其特点可概括为封装性.继承性.多态性. 1.封装性:面对对象的核心,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想. 2.继承性:主要描述的是类与类之间的关系,通过继承,可以在无需重新编写原有类的情况下,对原有类的功能进行扩展. 3.多态性:是在程序中允许出现重名现象,它指在一个类中定义的属性和方法被其他类