Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Набор данных, произвольно заданный с указанными свойствами, используемый в некоторых парадигмах программирования.
Arbitrarily defined dataset with specified properties used in some programming paradigms
В информатике объект может быть переменной, структурой данных, функцией или методом. Как области памяти, объекты содержат значение и идентифицируются по именам. В парадигме объектно-ориентированного программирования объект может представлять собой комбинацию переменных, функций и структур данных; в частности, в классовых вариантах этой парадигмы объект относится к конкретному экземпляру класса. В реляционной модели управления базами данных объектом может быть таблица или столбец, либо связь между данными и сущностью базы данных (например, связь возраста человека с конкретным человеком).
In computer science, an object can be a variable, a data structure, a function, or a method. As regions of memory, objects contain a value and are referenced by identifiers. In the object oriented programming paradigm, an object can be a combination of variables, functions, and data structures; in particular in class based variations of the paradigm, an object refers to a particular instance of a class. In the relational model of database management, an object can be a table or column, or an association between data and a database entity (such as relating a person's age to a specific person).
Языки на основе объектов
Важным различием между языками программирования является разница между объектно-ориентированным и объектно-базированным языком. Язык обычно считается объектно-базированным, если он включает в себя базовые возможности для объекта: идентификацию, свойства и атрибуты. Язык считается объектно-ориентированным, если он является объектно-базированным и также обладает возможностями полиморфизма, наследования, инкапсуляции и, возможно, композиции. Полиморфизм – это способность перегружать имя функции, реализуя различные варианты поведения в зависимости от того, какие объекты передаются ей в качестве аргументов. Традиционная передача сообщений различает только первый объект и рассматривает это как "отправку сообщения" этому объекту. Однако некоторые объектно-ориентированные языки программирования, такие как Flavors и Common Lisp Object System (CLOS), позволяют учитывать более одного параметра функции при определении поведения. Наследование – это возможность создавать подкласс на основе существующего класса, формируя новый класс, который является подклассом исходного и наследует все ограничения данных и поведение родительского класса, при этом добавляя новые и/или изменяя некоторые из них.
An important distinction in programming languages is the difference between an object oriented language and an object based language. A language is usually considered object based if it includes the basic capabilities for an object: identity, properties, and attributes. A language is considered object oriented if it is object based and also has the capability of polymorphism, inheritance, encapsulation, and, possibly, composition. Polymorphism refers to the ability to overload the name of a function with multiple behaviors based on which object(s) are passed to it. Conventional message passing discriminates only on the first object and considers that to be "sending a message" to that object. However, some object oriented programming languages such as Flavors and the Common Lisp Object System (CLOS) enable discriminating on more than the first parameter of the function. Inheritance is the ability to subclass an object class, to create a new class that is a subclass of an existing one and inherits all the data constraints and behaviors of its parents but also adds new and/or changes one or more of them.
Объектно-ориентированное программирование
В объектно-ориентированном программировании объект – это абстрактный тип данных, дополненный полиморфизмом и наследованием. Вместо структурирования программ как кода и данных, объектно-ориентированная система объединяет их, используя концепцию "объекта". Объект имеет состояние (данные) и поведение (код). Объекты могут соответствовать реальным объектам. Например, графическая программа будет содержать объекты, такие как круг, квадрат и меню. Система онлайн-покупок будет иметь объекты, такие как корзина, покупатель и товар. Эта система будет поддерживать действия, такие как оформление заказа, оплата и предоставление скидок. Объекты проектируются в виде классовых иерархий. Например, в системе онлайн-покупок могут быть классы верхнего уровня, такие как электронные товары, кухонные товары и книги. Возможны дальнейшие уточнения, например, в категории электронных товаров: CD-плеер, DVD-плеер и т.д. Эти классы и подклассы соответствуют множествам и подмножествам в математической логике.
In object oriented programming, an object is an abstract data type with the addition of polymorphism and inheritance. Rather than structure programs as code and data, an object oriented system integrates the two using the concept of an "object". An object has state (data) and behavior (code). Objects can correspond to things found in the real world. So for example, a graphics program will have objects such as circle, square, menu. An online shopping system will have objects such as shopping cart, customer, product. The shopping system will support behaviors such as place order, make payment, and offer discount. The objects are designed as class hierarchies. So for example with the shopping system there might be high level classes such as electronics product, kitchen product, and book. There may be further refinements for example under electronic products: CD Player, DVD player, etc. These classes and subclasses correspond to sets and subsets in mathematical logic.