2009-05-13 3 views
3

오랜 시간 전 처음에는 처음 BBC 모델 B에서 Basic을 사용하여 절차 적으로 프로그램을 작성한 다음 대학에서 파스칼을 소량 사용하고 그 과정에서 어셈블리를 프로그래밍했습니다. 절차 적 및 객체 지향 프로그래밍

는 다음에 따라 약간의 휴식 후 다시 비 웹 물건을 프로그래밍에 오기 훨씬 더 합리적인 모든 라운드 듯 그게 내가 C와 함께 사용되는 모든했다 OO ++, 펄, 자바, 루비 .....

왔다 8 년 정도 아이폰에서 Objective C는 정말 쉽게 받아 들일 수 있지만, Objective C에서 빠져 나와 다시 낮은 레벨의 물건을위한 오래된 C로 돌아 가야합니다. 다시 절차 적 프로그래밍으로 돌아갑니다.

무엇 난 후하는 개체 지향과 혼합하는 방법에 대한 좋은 가이드는 절차 적 스타일, 객체 등 등 또한

좋은 기본 설명서의 절차 부품을 포장 여부, 메모리 관리 작업을 수행하는 방법 절차 적 용어로 더 이상 생각할 수없는 것 같아서 C를위한 좋은 절차 스타일에 도움이 될 것입니다.

+0

다음은 예제와 비슷한 질문입니다. http://stackoverflow.com/questions/801976/mixing-c-functions-in-an-objective-c-class – rjstelling

답변

4

내 권장 사항은 구현을위한 최고 수준의 조직 및 절차 적 프로그래밍으로 객체 지향 프로그래밍을 사용하는 것입니다. OO는 인터페이스, 컴포넌트 간 계약, 코드를 일관된 덩어리로 분할하는 데 가장 적합합니다.

프로그래머가 객체에 대해 처음 배우기 시작하면 객체를 사용하여 견과를 이동하는 경향이 있습니다. - 유형에서 할 것입니다. 모든 숫자가 클래스가되면 클래스가 필요할 경우를 대비하여 메소드가 급증합니다. 지연의 한 형태가 될 수 있습니다. 결국 작업을 수행하는 코드를 작성하는 시점이 지연됩니다.

0

절차 적으로 생각할 필요가 없습니다. 모든 저수준 것들을 클래스로 래핑하십시오. objective-C++를 사용할 수 있습니다.

1

도움이된다면, 프로 시저/함수를 정적 클래스 메서드로 생각하면됩니다. 메모리 참조의 범위는 조금 다르지만 많지는 않습니다. 매개 변수로 전달 된 데이터에만 액세스하도록 함수를 제한하면 기호를 파악하지 않아도됩니다.

편집 : 여기서 일반적인 방식으로 이야기하고 있음을 분명히해야합니다. 나는 아이폰 개발을 한 적이 없으므로 메모리 접근/관리 측면에서 구체적으로 이야기 할 수있다.

1

내가 아는 한, 객체 지향 프로그래밍은 본질적으로이 데이터에 대한 데이터와 동작을 묶어 두는 것입니다.
C++과 Ojective-C는 이미 구운 메커니즘을 제공하지만 사용자가 직접 관리 할 수는 있습니다.

많은 C 라이브러리가 OO 메소드의 첫 번째 매개 변수로 구조 포인터를 바인딩합니다.
"C 객체 지향 프로그래밍"으로 검색하여 더 많은 정보를 얻을 수 있습니다.

관련 문제