«object-oriented» 태그된 질문

시스템을 모듈 방식으로 제어 및 조작 할 수있는 일련의 객체로 모델링 할 수있는 방법론

7
클래스가있는 OOP와 비교 한 기능적 프로그래밍
최근에 함수형 프로그래밍 개념에 관심이있었습니다. 나는 얼마 동안 OOP를 사용했다. OOP에서 상당히 복잡한 앱을 작성하는 방법을 알 수 있습니다. 각 객체는 그 객체가하는 일을 수행하는 방법을 알고 있습니다. 아니면 부모님의 수업도 마찬가지입니다. 그래서 나는 단순히 Person().speak()그 사람 에게 말 을하도록 말할 수 있습니다 . 그러나 함수형 프로그래밍에서 비슷한 작업을 어떻게 …

6
다른 문제에 대한 더 쉬운 해결책을 인정하면 코드 냄새가 나는 것이 괜찮습니까? [닫은]
친구 그룹과 나는 과거에 한동안 프로젝트를 진행해 왔으며, 우리는 우리 제품과 관련된 시나리오를 표현하는 멋진 OOP 방식을 발명하고자했습니다. 기본적으로 우리는 동방 스타일의 총알 지옥 게임을 진행 하고 있으며 , 우리가 상상할 수있는 총알의 가능한 행동을 쉽게 표현할 수있는 시스템을 만들고 싶었습니다. 이것이 바로 우리가 한 일입니다. 우리는 유니티의 컴포넌트 시스템 …

18
클라이언트가 객체 지향 프로그래밍을 사용하지 않도록 요구 한 경우 어떻게 하시겠습니까?
그리드에서 개미 의 활동 을 시뮬레이션하는 프로그램을 작성 중입니다 (PDF). 개미는 움직일 수 있고 물건을 집어 들고 물건을 떨어 뜨릴 수 있습니다. 문제는 개미의 행동과 각 개미의 위치를 ​​클래스 속성으로 쉽게 추적 할 수 있고 (그리고 우리는 그러한 개미의 많은 인스턴스를 쉽게 만들 수 있음) 고객은 기능 프로그래밍에 대한 배경 …

14
왜 객체가 참조로 전달됩니까?
OO를 연구하고 있던 젊은 동료는 왜 모든 객체가 기본 유형이나 구조체와 반대되는 참조로 전달되는지 물었습니다. Java 및 C #과 같은 언어의 일반적인 특성입니다. 나는 그에게 좋은 대답을 찾지 못했습니다. 이 디자인 결정의 동기는 무엇입니까? 이 언어의 개발자는 매번 포인터와 typedef를 작성해야하는 데 지치셨습니까?

10
일반적으로 객체 또는 해당 멤버 변수를 함수로 보냅니 까?
이 두 경우 사이에 일반적으로 허용되는 방법은 다음과 같습니다. function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } 또는 function insertIntoDatabase(long accountId, long thingId, double someValue) { database.insertMethod(accountId, thingId, someValue); } 다시 말해서 일반적으로 전체 객체를 전달하거나 필요한 필드 만 전달하는 것이 더 낫습니까?

5
구체적인 방법을 재정의하는 것이 코드 냄새입니까?
구체적인 방법을 재정의하는 것이 코드 냄새라는 것이 사실입니까? 구체적인 방법을 재정의해야한다고 생각하기 때문에 : public class A{ public void a(){ } } public class B extends A{ @Override public void a(){ } } 그것은 다음과 같이 다시 쓸 수 있습니다 public interface A{ public void a(); } public class ConcreteA …

7
나중에 사용하기 위해 루프에 플래그를 설정하는 것이 코드 냄새입니까?
특정 조건이 true가 될 때까지 맵을 반복 한 다음 나중에 해당 조건을 사용하여 더 많은 작업을 수행하는 코드가 있습니다. 예: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() > limit) { limitFlag = true; break; } } } …

10
말의 무리가 주어지면 모든 유니콘의 평균 뿔 길이를 어떻게 찾을 수 있습니까?
위의 질문은 레거시 코드에서 발생하는 일반적인 문제 또는 더 정확하게는이 문제를 해결하기 위해 이전에 시도한 문제의 추상 예입니다. 방법과 같이이 문제를 해결하기위한 적어도 하나의 .NET 프레임 워크 방법을 생각할 수 있습니다 Enumerable.OfType<T>. 그러나 궁극적으로 런타임에 객체 유형을 조사한다는 사실은 나와 맞지 않습니다. 각 말에게 "유니콘인가요?" 다음과 같은 접근 방식도 떠 …

10
함수형 프로그래밍 제안자는 Code Complete에서이 문장에 어떻게 대답합니까?
Steve McConnell은 두 번째 버전의 839 페이지에서 프로그래머가 대규모 프로그램에서 "복잡성을 극복 할 수있는"모든 방법을 논의하고 있습니다. 그의 조언은이 진술로 끝납니다. "객체 지향 프로그래밍은 알고리즘과 데이터에 동시에 적용되는 추상화 수준을 제공합니다. 이는 기능 분해만으로는 제공하지 않는 일종의 추상화입니다." "복잡성을 줄이는 것이 효과적인 프로그래머가되기위한 가장 중요한 열쇠"(동일한 페이지)라는 결론과 함께, 이것은 …

10
추상 클래스의 인터페이스
동료와 기본 클래스와 인터페이스의 관계에 대한 의견이 다릅니다. 인터페이스 구현이 필요할 때 해당 클래스를 사용할 수 없다면 클래스가 인터페이스를 구현해서는 안된다고 생각합니다. 즉, 다음과 같은 코드를보고 싶습니다. interface IFooWorker { void Work(); } abstract class BaseWorker { ... base class behaviors ... public abstract void Work() { } protected string …

3
OOPS에서“S”는 무엇을 의미합니까?
Google 에서 전체 형식의 ' OOPS '를 검색 했지만 안타깝게도 많은 모호한 답변이 있습니다. 일부는 " 시스템 "이라고 말하고 일부는 " 구조 " 라고 말하고 일부는 " 시놉시스 " 라고 언급하기도했습니다 . 누구나 올바른 & 올바른 참조로 OOPS의 전체 형태를 찾기 위해 나를 계몽시킬 수 있습니까? 모두를 도와 주셔서 감사합니다.

5
언제 그리고 왜 중첩 클래스를 사용해야합니까?
Object Oriented Programming을 사용하면 클래스 (중첩 클래스) 내에 클래스를 만들 수 있지만 4 년 동안 코딩 경험에서 중첩 클래스를 만들지 않았습니다. 중첩 클래스는 무엇입니까? 클래스가 중첩되어 있으면 클래스를 비공개로 표시 할 수 있고 포함 클래스에서 해당 클래스의 모든 비공개 멤버에 액세스 할 수 있음을 알고 있습니다. 포함하는 클래스 자체에서 변수를 …

8
길지만 간단한 코드를 클래스 나 함수로 래핑하는 대신 복사하여 붙여 넣을 수 있습니까?
인터넷에 연결하고 다음과 같은 연결 결과를 표시하는 코드 세그먼트가 있다고 가정하십시오. HttpRequest* httpRequest=new HttpRequest(); httpRequest->setUrl("(some domain .com)"); httpRequest->setRequestType(HttpRequest::Type::POST); httpRequest->setRequestData("(something like name=?&age=30&...)"); httpRequest->setResponseCallback([=](HttpClient* client, HttpResponse* response){ string responseString=response->getResponseDataString(); if(response->getErrorCode()!=200){ if(response->getErrorCode()==404){ Alert* alert=new Alert(); alert->setFontSize(30); alert->setFontColor(255,255,255); alert->setPosition(Screen.MIDDLE); alert->show("Connection Error","Not Found"); }else if((some other different cases)){ (some other alert) }else Alert* alert=new Alert(); …

6
class 키워드없이 "객체 지향"프로그래밍을 구현할 수 있습니까?
은행에서 "계정"을 추상화하고 싶다고 가정 해 봅시다. 다음 function은 파이썬 에서 객체를 사용하는 한 가지 방법입니다 . def account(): """Return a dispatch dictionary representing a bank account. >>> a = account() >>> a['deposit'](100) 100 >>> a['withdraw'](90) 10 >>> a['withdraw'](90) 'Insufficient funds' >>> a['balance'] 10 """ def withdraw(amount): if amount > …

6
새 객체를 만들거나 모든 속성을 재설정 하시겠습니까?
public class MyClass { public object Prop1 { get; set; } public object Prop2 { get; set; } public object Prop3 { get; set; } } 객체 myObject가 MyClass있고 속성을 재설정해야 한다고 가정 합니다. 새 객체를 만들거나 각 속성을 다시 할당하는 것이 더 낫습니까? 이전 인스턴스에서 추가로 사용하지 않는다고 가정하십시오. …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.