便便是一个编程程序,其中一切都表示为对象。关于此范式的程序由一个对象源传递消息的来源。最终,这种消息的交换将在这些对象中产生状态修改(数据)。
对象具有特征(属性)和行为(母亲)。每个对象均来自一个类,即真实世界对象抽象。类是一个模板,例如结构的“植物”,从中创建对象。
程序羊毛与Bolâ食谱有一个共同的类比,仅描述了“需要做的事情,但面向对象的停机时间包括“ IE,IE,IE,执行动作)和目标。 P>
在程序语言中,行为是在过程,功能或子例子中定义的。在OO计划中,母体的各种行为。一个物体的母亲是消息的invocados。
-
每当创建羊毛对象时,在内存中分配空间。课程不会在内存中消耗空间。
编程对象时,我们有好处:
- 我做更多的幻想要理解,因为方式是构造的,使它们象征着真实的世界元素,
- 由于责任针对对象
- 回复道:henter是便便的支柱之一,允许对象继承特征和行为,避免重复代码。
管理方向编程的支柱。
- variãldereferencia
我们可以通过参考差异访问对象。参考的差异只能是一种类型。无法更改参考差异后声明。
Cachorro cachorro = new Cachorro();
在上面的示例中,狗是对狗类型(类)的引用的差异。参考的差异可以将类或接口作为类型。
可以通过各种类型的参考变量(只要这些类型在同一层次结构中)来引用一个对象,这是参考差异或超级类别的相同类型的对象。
例如,如果狗类从动物类延伸,我们可能会说:
Animal rex = new Cachorro();
在这种情况下,雷克斯将是动物类型的差异和新狗()创建新的狗类型对象的差异。在编译时,我们无法访问整个或特定的狗属性,例如整个“ bark()”,因为编译器仅知道参考的类型。由于Barking()在动物参考类型的类型中不存在(仅存在于狗类中),因此无法访问它。但是,在执行时,REX将是狗类型(执行时间/对象类型的类型)。在这种情况下,我们可以说服编译器,雷克斯对象将在执行,执行铸件时是狗的类型,并且我们可以使用狗的狗。
Animal rex = new Cachorro();
((Cachorro) rex).latir(); //casting para Cachorro
-
对象的状态
对象中所有存储的数据的集合被指定为其状态。在OO中使用的术语中,属性对象的各种数据。
例如,cachoro具有以下属性:名称,颜色,分支,年龄等。 -
构建者必须定义初始状态vâlidai
最终,需要用母亲的状态初始化对象才能被视为徒劳。示例:
Cachorro cachorro = new Cachorro(“Rex”, “marrom”, “Pitbull”,”médio”, “filhote”).
在这种情况下,我们知道狗类有一个建筑商,他定义了当我们创建狗类型时,我们必须告知名称,颜色,评分和年龄的属性。
- 对象的属性集和所有欺凌者(可见)构成其接口(不与我们可以定义为对象类型的接口混淆)。
- 较小的阶级至少在理论上是频率较小的修改,从而有助于代码的稳定性,因此倾向于更加凝聚力。
封装
它包括隐藏和保护详细信息的详细信息,不允许班级外部的元素访问其属性,避免访问和直接修改“任何人”对象。有了这一点,我们可以控制班级中的数据如何操纵,因此,母亲和属性实施的细节仅限于重要的:班级本身。
在便便中,一个属性或物体外部不可见的属性称为“私人”,当可见时,它被称为“药丸”。 例如,当我们踏上汽车的油门时,我们不需要知道汽车如何加速的细节,即在此过程中使用哪些机制。我们只需要踏上加速器,而汽车就可以执行动作,而不必像这样曝光。
对象隐藏数据和行为的能力被称为隐藏。这是封装的重要方面。
继承使对象能够从另一个对象接收行为和陈述。
当我们使用对象上的继承时,我们就继承了其上方所有对象的特征,就像我们继承了祖先的特征一样。来自上述对象的特征的继承被视为直接继承,而另一个对象则被视为间接继承。例如,在Famãlia中,孩子直接从父亲那里继承,并间接从宏伟的人和伟大的祖母那里继承。
这样,当一个对象继承时,我们说正在使用的类“一个”关系。我们继承了我们称为子类的类,以及共享我们称为超类的特征。
例如:班级从动物那里继承。我们说狗是动物,在这种情况下,狗是子类(或女儿阶级),动物是超类,建立了它们之间的继承之间的关系。
在这种继承的关系中,可以继承私人实例的提名和变量的妈妈(只能通过motters and setters药丸访问)。 p>
- 在某些语言中,有母亲的海象,一个物体可以从其他几个语言那里继承。
- 小心!具有胜利者和固定器的模型可能正在掩盖矮人的模型。
多态性
“多态性”一词来自希腊警察=许多,morphos =形状。在编程中,它由相同动议采取不同形式的能力组成。
例如,通过继承所有父级,可以改变其行为以适应所讨论的对象,从而导致所有相等的类但具有不同行为的类。
例如,汽车和面包继承了汽车。每辆车都有整体加速,但是每辆车都以一种方式加速,触发汽车的机制和范围是不同的。这样,两者都将将整体继承到汽车加速,但会改变其行为,每种行为都会以不同的方式加速。
也就是说,从同一类继承的不同对象是以不同方式实现的座右铭
- 像所有Java类一样,从对象继承,Java的所有对象都被视为Polyman。
Method Overload Overload使同一类具有不止一次的所有名称。为此,您的Parano列表必须不同,以便编译器可以区分它们。退货,访问修饰符和洗衣异常的类型也可能不同。
观察:母亲©所有河口也可以超负荷。 整体的签名由:可见性修改器,整体返回类型,parano仪表和例外。 观察母亲的索布克: 母亲©所有愚蠢和建筑商都不能淹没,但可以超负荷。 关系 为了给出一个关于构图的想法,让我们看看这个学生班和学生班的示例。学生有一个学生。学生可能没有学生ID存在,但是没有学生可能就不存在。这种关系称为组成。 apptraã§o 抽象的一个常见示例是汽车加速器:踩更强,您会提高速度。但是,驱动程序不知道该动作如何改变他们不需要知道的速度。 在Java中,我们可以通过两种方式进行抽象:抽象类和接口。 关键字摘要可以应用于课程和母亲。 如果实现良好,则针对对象的对象将始终,始终较少依赖于具体实现和更多的抽象。 我们什么时候要标记像摘要这样的班级? 接口 当类实现接口时,它必须在接口中实现这些摘要。因此,我们说界面是“合同”,一组母亲定义所有实施界面的类都必须具有这些母亲。 例如,一个具有所有工资和所有工资的界面。接口中的这些时刻没有实现,只有签名,其名称。班级,董事和卖方的班级实施了员工。在这种情况下,所有这些都将被要求实施母亲和所有薪水,以定义他们如何在每个人中工作。 界面的母亲是图案,公共和抽象的。因此,在接口中,我们无需指定公共和抽象关键字。因此,接口的整体实现的访问修改器必须是公开的。 一个小细节:一个界面不能由类继承,而是实现的。但是,接口可以从另一个接口继承,创建接口层次结构。我们说,使用汽车的完整示例,我们说本田拟合的跨类从“本田拟合”类继承,该类别以“汽车”类继承。 “汽车”类实现了“汽车”界面,而“汽车”界面又可以继承(例如)一个称为“ Meiodetransport”的界面,因为即使汽车是“汽车”和“汽车”都是运输工具不是汽车。 母亲©全部默认和所有界面中 为了避免这种类型的问题,从Java出发,除了抽象妈妈外,还引入了在界面中实施母亲和愚蠢的可能性。 接口deMarcaã§o 接口的优势 我们什么时候要从类移动到接口? 如果您想定义可能需要并经常使用抽象类的每个人。 来源:
如果子类具有在超级阶级中宣布的相同座右铭,则称为母亲覆盖。对于整体而言,它必须保持相同的签名。
抽象是隐藏实现细节并仅显示用户的功能的过程。
界面是一个类的模板(或构造的“植物”),该模板旨在由其他类实现。它只有抽象的妈妈(绝对没有混凝土),所以您的妈妈没有COLPORA ONE,只有签名。
通常,我们将界面的母亲实施到单独的类中。假设有必要添加新母亲©所有接口。我是,我们应该在所有其他类也实现此接口的其他类中实施这个母亲。
空界面。例如可序列化,可克隆和远程接口。他们只能提供某种标记课程。
帮助我们使用Java的晚期henter。
他们提供抽象。
它们提供低耦合:对象彼此独立。
形成子类以实施所有抽象的妈妈。
为了避免创建此类对象。
维护对类的引用。
如果您只想定义所有必要的妈妈,请使用接口。
https://programacao-orientada-a-objetos.online/
https://www.freecodecamp.org/portuguese/news/principios-de-programacao-orientada-a-objetos-em-java-conceitos-de-poo-para-iniciantes/