학생을 위한 OOP. - 페이지 3

 
Koldun Zloy :

적은 점수로도 뻔하다고 생각했다. 수천 개의 숫자가 있고 더 복잡한 숫자로 구성되면 이점이 훨씬 더 커질 것입니다.

당신은 데이터를 쓰고 작업하는 "구문 기술"을 보여주었습니다. 이것은 OOP의 개념이 아니라 기술입니다. 간단한 작업에서는 각 구조와 클래스의 엔터티를 차단하는 것보다 배열로 작업하는 것이 더 편리합니다.

다음과 같은 것이 있습니다. 메커니즘의 효율성.

단순 작업의 OOP는 효율성과 가독성을 감소시킵니다. 못을 박으려면 망치가 필요하며 타격 카운터와 힘 게이지가있는 디스플레이가 있는지 여부는 중요하지 않습니다.

 
Реter Konow :

당신은 데이터를 쓰고 작업하는 "구문 기술"을 보여주었습니다. 이것은 OOP의 개념이 아니라 기술입니다. 간단한 작업에서는 각 구조와 클래스의 엔터티를 차단하는 것보다 배열로 작업하는 것이 더 편리합니다.

다음과 같은 것이 있습니다. 메커니즘의 효율성.

단순 작업의 OOP는 효율성과 가독성을 감소시킵니다. 못을 박으려면 망치가 필요하며 타격 카운터와 힘 게이지가있는 디스플레이가 있는지 여부는 중요하지 않습니다.

제 예에서는 가독성이 훨씬 높고 효율성도 나쁘지 않습니다.

"OOP 개념"이 무엇인지 모르겠습니다.

저는 철학자가 아니라 프로그래머입니다.

 
Koldun Zloy :

제 예에서는 가독성이 훨씬 높고 효율성도 나쁘지 않습니다.

"OOP 개념"이 무엇인지 모르겠습니다.

저는 철학자가 아니라 프로그래머입니다.

OOP 구문 기술을 작은 작업으로 이전하면 솔루션에 불필요한 엔터티가 생성됩니다.

먼저 최소한의 구문과 "객관성"으로 효과적인 솔루션을 만드는 방법을 배워야 합니다. 색상과 함께 작동하는 알고리즘을 살펴보십시오. 불필요한 것은 없습니다. 벌거 벗은 메커니즘. 즉, 망치와 못입니다. 그리고 작업이 복잡해짐에 따라 "Object", "Class"의 개념으로 이동하십시오 ...

나는 그렇게 할 것이다. 그러나 나는 당신을 방해하지 않을 것입니다.

 
Реter Konow :

OOP 구문 기술을 작은 작업으로 이전하면 솔루션에 불필요한 엔터티가 생성됩니다.

먼저 최소한의 구문과 "객관성"으로 효과적인 솔루션을 만드는 방법을 배워야 합니다. 색상과 함께 작동하는 알고리즘을 살펴보십시오. 불필요한 것은 없습니다. 벌거 벗은 메커니즘. 즉, 망치와 못입니다. 그리고 작업이 복잡해짐에 따라 "Object", "Class"의 개념으로 이동하십시오 ...

나는 그렇게 할 것이다. 그러나 나는 당신을 방해하지 않을 것입니다.

이 주제에서는 추상적인 추론이 아닌 구체적인 예를 요구합니다. POINT 구조를 방해한 이유는 무엇입니까?

그리고 당신은 나를 귀찮게하지 않습니다. 이 주제는 또한 당신을 위한 것입니다.

 
Koldun Zloy :

이 변경 사항이 있습니까?

구문이 변경됩니다.

obj.val=1; 또는 obj.val(1);

그 반대:

x=obj.val; 또는 x=obj.val();

 
Dmitry Fedoseev :

구문이 변경됩니다.

obj.val=1; 또는 obj.val(1);

그 반대:

x=obj.val; 또는 x=obj.val();

나는 무례하지 않을 줄 아는 사람들과 소통한다.

그리고 당신은 나갔다.

 
Koldun Zloy :

나는 무례하지 않을 줄 아는 사람들과 소통한다.

그리고 당신은 나갔다.

해안을 사로잡았습니까?

예... 클럽 회원들은 자신의 망상에 빠지는 것을 정말 싫어합니다.


더엑스퍼트 :
본질적으로 아니다.

그리고 지금: 그들은 또한 서로 핥는 것을 좋아합니다.

--

이제 모든 사람들은 내가 getter와 setter에 대해 그런 말도 안되는 소리를 내었다고 상상합니다.

--

Koldun Zloy, 주제 이름을 "OOO for schoolchildren from schoolboy"로 바꿉니다.

 
Koldun Zloy :

이 주제에서는 추상적인 추론이 아닌 구체적인 예를 요구합니다. POINT 구조를 방해한 이유는 무엇입니까?

그리고 당신은 나를 귀찮게하지 않습니다. 이 주제는 또한 당신을 위한 것입니다.

자, 코드로 넘어가겠습니다.

과제는 무엇이었나요? - 포인트의 좌표를 저장하는 것이 편리합니다. 무엇을 위해? - 빠른 액세스를 위해.

작업이 빠른 데이터 액세스에만 있는 경우 POINT 구조 및 해당 인스턴스는 솔루션에서 불필요한 엔터티입니다. 매트릭스를 통해 액세스하는 것이 얼마나 쉬운지 확인하십시오.

 int Points[ 2 ][ 10 ]; //Объявляем в глобальной области.
//---------------------
//цикл по точкам для вычесления расстояний между ними:
//---------------------
for ( int i = 0 ; i < 9 ; i++)
  {  
   int x_dist = Points[ 0 ][i + 1 ] - Points[ 0 ][i];
   int y_dist = Points[ 1 ][i + 1 ] - Points[ 1 ][i];
  }
//--------------------------

당신은 당신이 철학자는 아니지만 "구조"는 철학적 개념이며 솔루션에 존재하는 것이 정당화되어야 한다고 말합니다.

 
Реter Konow :

자, 코드로 넘어가겠습니다.

과제는 무엇이었나요? - 포인트의 좌표를 저장하는 것이 편리합니다. 무엇을 위해? - 빠른 액세스를 위해.

작업이 빠른 데이터 액세스에만 있는 경우 POINT 구조 및 해당 인스턴스는 솔루션에서 불필요한 엔터티입니다. 매트릭스를 통해 액세스하는 것이 얼마나 쉬운지 확인하십시오.

당신은 당신이 철학자는 아니지만 "구조"는 철학적 개념이며 솔루션에 존재하는 것이 정당화되어야 한다고 말합니다.

불편할 뿐입니다. x 요소와 y 요소를 알아야 합니다. 구조를 사용할 때 모든 것이 명확하고 오류가 제거되고 코드 양이 줄어 듭니다.

 
Dmitry Fedoseev :


이제 모든 사람들은 내가 getter와 setter에 대해 그런 말도 안되는 소리를 내었다고 상상합니다.

넌센스란 무엇인가? getter 의 정의를 열고 다음을 읽으십시오.

접근이 직접적으로 제한된 데이터를 얻을 수 있는 특별한 방법

그러나 개인 데이터를 얻을 수 있는 메커니즘은 다를 수 있습니다. C#에서는 이것이 한 가지 방법이고 C++ 및 MQL에서는 다른 방법입니다. 그러나 이 방법에서 "게터"의 정의를 잃지 않습니다.