什么是类入口接口对象

时间:2019-03-24 09:25:29

标签: class

我是编码领域的新手,我总是听到有关类,实体,接口和对象的信息,而我对这些事情有些困惑,有人可以给我一个简短而容易理解的解释吗!

1 个答案:

答案 0 :(得分:0)

CLASSES是OOP(面向对象编程)中的一个概念,用于表示程序中的现实世界“事物”。这些东西具有属性,您可以对它们执行操作:

class Human {
   String name; // attribute
   int age;     // attribute

   // action
   function goToSleep() { 
      print("zzzZZ");
   }
}

对象是CLASS的特定“版本”。 例如,您可以创建一个新的Human:

Human human1 = new Human();
Human human2 = new Human();

例如,您现在可以更改其年龄或姓名:

human1.age = 12;
human2.name = "Peter";

您还可以让他们入睡,因为我们为他们定义了此操作:

human1.goToSleep();
human2.goToSleep();

接口是某些OOP语言的语言元素。我所知道的是例如Java。 您可以将其想象为一种合同: 通常,许多GUI元素(例如“矩形”,“圆”等)都具有可以对它们执行的某种功能(正如我们已经说过的动作或行为)。 您执行的操作始终具有相同的名称,例如'drawMe',但是当为那些GUI元素调用此方法时,并非总是发生相同的事情。 如果Rectangle和Circles的'drawMe'函数绘制相同的形状,那将很奇怪。 这是许多语言具有接口的主要原因。 让我告诉你:

interface Shape {
   drawMe();
}

class Rectangle implements Shape {
   @Override // means that you change the action, it's like replacing a file with same name in your OS
   function drawMe() {
      print('I am a Rectangle');
   }
}

class Circle implements Shape {
   @Override // means that you change the action, it's like replacing a file with same name in your OS
   function drawMe() {
      print('I am a Circle');
   }
}

请注意,由于它是合同,因此必须实现Interface的方法。 现在您可以执行以下操作:

Rectangle rect = new Rectangle();
rect.drawMe(); // will print I am a Rectangle

Circle circle = new Circle();
circle.drawMe(); // will print I am a Circle

此外,此GUI界面只是一个示例,您可以为程序中的每个类定义接口(合同)。

最后一点,实体。 这总是与数据库有关。 我强烈建议您查找一下,但这是以下术语之间的快速区别:

ENTITY-TYPE is like a CLASS, an abstract collection of ONLY attributes, NO actions here!
ENTITY is like an OBJECT, a specific version of the ENTITY-TYPE, you can access the attributes, but as already said, in databases you don't store actions or behaviour.
相关问题