Другие языки программирования и технологии
Скажите, прав я или нет? ООП
Объект-это часть выполняемой программы, в которой описывается какой-то предмет или действие (свойства и. т. д.) . Метод же - это почти тоже самое что и объект, но он изменяет какие-либо параметры уже существующего объекта или работает над ним. Класс - это описание работы с объектами. Из классов состоят и объекты, и методы. Классы же состоят из функций. А объединением методов и объектов считается готовая программа.
Нет, Вы не правы.
1) Класс это описание некоторого абстрактного типа данных, и способов работы с ним.
2) объект это конкретный экземпляр класса.
3) метод - способ воздействия на объект (или на класс если метод статический) .
Пример, для лучшего понимания.
У нас есть животные - это класс. животные имеют вес, возраст, размер - это поля класса. Так же животные умеют передвигаться и есть - это методы класса.
Теперь же у нас во дворе живет пес Тузик, который, безусловно, является животным. весит он 20кг, ему три года и он 50см в холке, умеет бегать и есть. Так вот Тузик - это объект класса животные. Когда мы говорим ему Тузик->Бежать (); то мы вызываем метод Бежать () объекта Тузик.
1) Класс это описание некоторого абстрактного типа данных, и способов работы с ним.
2) объект это конкретный экземпляр класса.
3) метод - способ воздействия на объект (или на класс если метод статический) .
Пример, для лучшего понимания.
У нас есть животные - это класс. животные имеют вес, возраст, размер - это поля класса. Так же животные умеют передвигаться и есть - это методы класса.
Теперь же у нас во дворе живет пес Тузик, который, безусловно, является животным. весит он 20кг, ему три года и он 50см в холке, умеет бегать и есть. Так вот Тузик - это объект класса животные. Когда мы говорим ему Тузик->Бежать (); то мы вызываем метод Бежать () объекта Тузик.
Сарсенбай Молдагалиев
я как обычно могу ошибаться, но разве класс это не конкретика а абстрактный класс и интерфейс это уже абстрактное описание которое мы реализуем в конкретике?
habrahabr.ru›Зачем нам ООП и что это такое
Вы хотите сузить понятие объекта в рамках ООП, до понятия объекта в языках, вкоторых ОО подход ...Я сказал что доменный объект, который не обладает поведением может выполнять функции DTO. ..Это тоже не объекты ООП (нет наследования и сабтайпинга) и тоже паттерн.
Вы хотите сузить понятие объекта в рамках ООП, до понятия объекта в языках, вкоторых ОО подход ...Я сказал что доменный объект, который не обладает поведением может выполнять функции DTO. ..Это тоже не объекты ООП (нет наследования и сабтайпинга) и тоже паттерн.
Не а) ) Класс есть просто пользовательский тип, в котором инкапсулированы свойства и методы. А объект есть реализация класса, он создается по прототипу, которым является класс. Поэтому класс не есть объект, и метод не объект. Обьект только реализует методы и свойства класса.
Объект и класс одно и тоже (будем так говорить) .
Объекты состоит из данных (какие-то значения) и методов (способы изменения и обработки данных врутри объекта) .
Программа состоит либо из функций (функция обрабатывает данные в глобальном или локальном пространстве имен) и классов (тут появляется пространство имен класса. Это к примеру с++ и паскаль) , либо из центрального класса и всех остальных (ява).
Объекты состоит из данных (какие-то значения) и методов (способы изменения и обработки данных врутри объекта) .
Программа состоит либо из функций (функция обрабатывает данные в глобальном или локальном пространстве имен) и классов (тут появляется пространство имен класса. Это к примеру с++ и паскаль) , либо из центрального класса и всех остальных (ява).
Ну в пиинципе да! вот как быстро научишся применять OOP зависит уже от вас
Класс это чертёж. Объект это собранный по чертежу экземпляр класса.
У класса есть свойства и методы. Свойства это данные (предметы и их описания) , короче переменные х, у и др. Методы это функции - т. е. подпрограммы, которые выполняют какие-то действия, например, сложение или вычитание.
Когда всё это (свойства и методы) запихивают в один класс и ограничивают доступ к этому (к свойствам и методам) с помощью модификаторов доступа (public, private, protected), то это называется инкапсуляция.
Ещё есть наследование и полиморфизм. Полиморфизм это способность функции обрабатывать данные разных типов (ещё плохо понимаю как это) , а наследование это способность одного класса взять готовые методы и свойства из другого класса.
==================
Я сам только изучаю это, поэтому могу ошибаться. Но сейчас кажется, что это и есть всё ООП.
У класса есть свойства и методы. Свойства это данные (предметы и их описания) , короче переменные х, у и др. Методы это функции - т. е. подпрограммы, которые выполняют какие-то действия, например, сложение или вычитание.
Когда всё это (свойства и методы) запихивают в один класс и ограничивают доступ к этому (к свойствам и методам) с помощью модификаторов доступа (public, private, protected), то это называется инкапсуляция.
Ещё есть наследование и полиморфизм. Полиморфизм это способность функции обрабатывать данные разных типов (ещё плохо понимаю как это) , а наследование это способность одного класса взять готовые методы и свойства из другого класса.
==================
Я сам только изучаю это, поэтому могу ошибаться. Но сейчас кажется, что это и есть всё ООП.
Нет, Класс это описание объекта, методы - возможные действия с классом или действия класса, объект это экземпляр класса. Объединение методов и класса это как раз таки описание объекта, экземпляр которого можно создать
Ну.... Да)
^_^
^_^
класс - это план дома. объект - это дом. по одному плану (классу) можно построить множество домов (объектов) . методом называют функцию класса. например в классе дом описано, что у него есть 3 окна, 1 дверь и 4 стены (это данные класса) . И написаны такие методы - установить цвет стен, материал окон и количество дверей. создаём объект класса дом - мойДом и вызываем методы для этого объекта. Кол дверей задаём 2, цвет стен - красный, материал окон - пластик. теперь наш объект имеет 2 двери, красные стены и пластиковые окна. захотели изменить цвет стен - вызвали соответствующий метод. Если создал второй объект этого класса- мойДомДва, тебе опять нужно задать все эти параметры. Данные (окна, двери, стены) объекта мойДом никак не связаны с данными объекта мойДомДва.
Чтобы тебя не путать не сказал о конструкторах и деструкторах, найдёш сама) )
Кстати, это ещё не всё ооп, а всего лишь инкапсуляция. В книге Шилда по плюсам 2002 года неплохо раскрывается смысл ООП, но это же читать нужно)
Чтобы тебя не путать не сказал о конструкторах и деструкторах, найдёш сама) )
Кстати, это ещё не всё ооп, а всего лишь инкапсуляция. В книге Шилда по плюсам 2002 года неплохо раскрывается смысл ООП, но это же читать нужно)
Столько уже написали, я только дополню:
Метод это та же функция, только он находится в классе.
А Поле эта та же переменная, и лежит так же в классе.
Метод это та же функция, только он находится в классе.
А Поле эта та же переменная, и лежит так же в классе.
не знаю что за язык но расскажу по си шарп, класс содержит в себе методы (как объективные так и абстрактные) , при первом инстанцировании класса (например MyClass inst = new MyClass;) создаётся единственный объект и экземпляр к нему на куче, в последующих инстанцированиях его уже создаётся экземпляр объекта на куче который содержит ссылку на объект (например: MyClass inst = new MyClass-это первоей инстанцирование класса при котром создался объект на куче но сам inst это экземпляр MyClass inst2 = new MyClass; - содержит себе экземпляр) , к методам и полям классах мы обращаемся по ссылке допустим inst.MyMethod(); и inst2.MyMethod(); ссылаются на один и тот же метод, но экземпляры содержат свои статические поля (если они имеются) , в случае если статики нет. . .поля просто обнуляются и инициализируются заного конструктором ( различие между пользовательским конструктором и конструктором по умолчанию надеюсь знайте)
в краце класс и есть объект
Если кто-то нашёл ошибку исправьте написав в комент
в краце класс и есть объект
Если кто-то нашёл ошибку исправьте написав в комент
Валик Буценко
Уточню на всякий случай, при любом инстанцировании класса создается НОВЫЙ экземпляр объекта класса в куче, а в переменной вы получаете ссылку на этот новорожденный объект.
Т. е. объекты каждый раз новые. А вот передача в методы для аргументов типа класс, интерфейс, массив и делегат уже происходит по ссылке.
Наверное вы это и имели в виду.
Т. е. объекты каждый раз новые. А вот передача в методы для аргументов типа класс, интерфейс, массив и делегат уже происходит по ссылке.
Наверное вы это и имели в виду.
Вы правы.
Похожие вопросы
- Изучнние ООП - стоит ли сейчас?
- ООП. Стоит ли браться за ООП новичку в программировании?:
- ООП - зло. Ваше мнение.
- Объектно ориентированное программирование. (ООП)
- Что такое ООП для человека который не знает других парадигм
- Зачем нужно ООП?
- ООП, интересно узнать ...
- Правильно ли я понимаю значении ООП
- Что такое парадигма ООП и вообще слово "парадигма"?
- Что такое ООП по простому? Что такое ООП по простому?