Orient -Object编程( POO )是流行的编程范式,它使应用程序的奶油 More More Modular 和<强>易于维护。在Java中,POO广泛用于开发桌面应用程序,Web应用程序和移动应用程序。在本文中,我们将回顾Java中东方计划的基本原理,并以示例为例。
。封装
封装是对象编程的第一个基本原理。它包括将专有性和mèsthodes 组成,称为 class 。属性是 在类上的提取物中,只能由称为访问者( Getters )和Mutateur( seters )完成。这使您可以保护数据并控制其修改。
例如,这是一个简单的类,它使用封装来存储和修改私有(私有)变量“名称”:
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
礼节“ 名称”被视为私人,这意味着它不能直接附加在班级之外 。为了获得这种礼节,班级派出了两个公共静音。
thode“ getName()”返回礼节的当前值” name ”,而medode” setName() ”采用丁字裤类型的参数,结束礼节的价值“ name ”。
通过封装礼物“ 名称”,并通过提供公共MSE 访问它,该人类班级可以保证 适当性的变化”名称“由受控处理制成。这也有助于类的使用代码,因为程序的其他部分可以通过公共静音与班级进行交互,而不必担心将“名称”礼节存储或修改为“名称” 。
Hâ©Ritage
住房是便便的另一个重要原则。它允许类构成另一个类的专有性和MSE 。康复类称为子类或已故类别,而其命中的类别称为超级级或基本类。子类可以添加补充功能或修改超级级的现有特征。
例如,这里是动物超级级和狗 击中动物,并增加了狗的专有人:
public class Animal {
public void eat() {
System.out.println("I am eating");
}
}
public class Dog extends Animal {
public void bark() {
System.out.println("Woof! Woof!");
}
}
动物阶级有公共的“ eat()”,显示一条消息,表明它正在吃东西。类狗在听到其thode “ eat()”和中添加 a'''''' bark()“ mesode”显示一条消息,表明狗吠叫。
在课堂上动物,类狗可以使用其“ eat()”才能完成。这允许实现代码的重复和促进代码的维护。
在此示例中,类狗是动物物体的一种形式,可以在预期动物物体的任何地方使用。但是,这只狗本身也具有特殊行为(吠叫的事实),可以由thode “ bark()”。
多态性
多态性是一个原则,允许班级以不同的处理方式行事。这意味着对象可以用作实例 他自己的班级或作为他的子类之一的一个实例。
例如,考虑类动物及其子类 dog 和 cat 。假设我们有一个名为“ makeound()”的名称,必须为每只动物称呼。在这种情况下,我们可以使用多态性来称任何类型的动物为“ makeound()”,而不知道前进是'狗还是猫。
public class Animal {
public void makeSound() {
System.out.println("The animal is making a sound");
}
}
public class Dog extends Animal {
public void makeSound() {
System.out.println("The dog is barking");
}
}
public class Cat extends Animal {
public void makeSound() {
System.out.println("The cat is meowing");
}
}
动物类具有公共thodily “ makeound()”,显示一条消息,表明动物会发出噪音。 狗类和 cat 是动物和降低其thode “强度>“在赞助中
多态性允许对象根据其使用上下文具有不同的行为。这有助于使用代码并允许应用 java 模块化和。
抽象
抽象是对象编程的第四个原理。它包括完成抽象类,其中包含摘要(( bodyless ),必须是 by 它的子类。该抽象使得可以完成一组通用的礁石和礼节,这些珊瑚礁和礼节可以由不同的类别使用,同时确保每个子类都意味着这些“适当”。
下面的示例显示了类 dog 如何使用抽象来隐藏其含义的缺陷,这是一个简单的接口:
public abstract class Animal {
public abstract void makeSound();
}
public class Dog extends Animal {
public void makeSound() {
System.out.println("The dog is barking");
}
}
在此示例中,动物被认为是 abract , at 摘要 “ ()“。该thode对动物类别没有任何含义,但被认为是澄清的,因此所有喜欢动物的类都必须完成 strong>。 p>。
班级狗在“ Makeound()”中说明了动物级别的
摘要类的主要特征是不能立即立即,但是必须由e ,这意味着其抽象和/或过载其非抽象MSE。抽象MSE的偏好只是强迫子类对这些螨虫造成影响的手段之一,但这并不是唯一的警报。因此,抽象类可能不包含抽象的meode 。
抽象允许可以在不同上下文中使用灵活处理的类的已故同级,而不必担心每个子类中空间含义的缺陷。这促进了代码的使用,并可以创建模块化和电力Java应用程序。
作品
构图是爪哇的另一个重要原则。它由通过组合较简单的对象组成。该构图不是其他类别的房屋所有权和MSE,而是将类实例用作另一类的成员作为更复杂的对象。 p>
下面的示例显示了如何使用构图来从“房间”和“门”等简单对象中得出对象“ house”:
public class Door {
private String color;
public Door(String color) {
this.color = color;
}
public String getColor() {
return color;
}
}
public class Room {
private Door door;
private String name;
public Room(String name, Door door) {
this.name = name;
this.door = door;
}
public String getName() {
return name;
}
public Door getDoor() {
return door;
}
}
public class House {
private Room[] rooms;
public House(Room[] rooms) {
this.rooms = rooms;
}
public Room[] getRooms() {
return rooms;
}
}
在此示例中,我们有三个类:门,房间和 house 。门班重现了一扇门,并具有“颜色”礼节,可衍生其颜色。房间班重现了房屋的pkeice,并具有衍生其名称的礼节的“名称”,以及一个礼节的“门”,是一个重现Piû门的门对象。
。班级 house 再现房屋并具有礼节的“ 房间” 。使用该构图,我们可以通过组合几个房间对象来构建房屋对象,这些房间包含物体门。
**
总之,Java中的**编程或对象具有许多优势,包括模块化,使用的,维护和灵活性。使用封装,住房,多态性,抽象和组成的原则,冰球手可以相信应用 java java 强大的和 volutous 。