20182306 2019-2020-1 "객체 지향 프로그래밍 및 데이터 구조,"학습 요약의 여섯 번째 주

20182306 2019-2020-1 "객체 지향 프로그래밍 및 데이터 구조,"학습 요약의 여섯 번째 주

내용 요약 학습

다형성은 상이한 시간에 상이한 타겟에 변수 참조 점을 의미한다. 다형성은 바인딩을 달성하기위한 기초
객체 지향의 핵심 객체 지향 설계, 다섯 SRP의 객체 지향 원칙, OCP, LSP, DIP, ISP 인의 원칙
SRP (단일 책임 Princple 단일 책임의 원칙) 디자인의 한 요소를 일. 전에, (하나님 클래스와 서브 클래스)이 문제를 논의 된 것은 재사용하기 쉬운 서브 클래스.
응집 및 낮은 커플 링 높은 내 : 무엇을, 사용 호출 유연한 외출하지 않습니다

OCP (오픈 사용 닫기 Princple)을
"수정을 위해 휴관, 확장 오픈"개방은 수정 폐쇄 확장
OCP를 뒤에 메커니즘을 제공합니다 : 추상과 다형성
소프트웨어 엔티티 (.. 클래스 모듈 기능)해야한다

LSP는 (리스 코프 치환 원칙 리히터 대체 원칙) Liskov는이 원칙의 저자이다. 이상 5로 이해의 수는 아이의 아버지가 존재 할 수 있어야합니다 2보다 커야합니다.

DIP는 (의존 반전 원리 의존 관계 역전 원칙은) 특정에 의존하지 않는, 추상에 따라 달라집니다.
서브 클래스는 남용을 상속 할 수 없습니다 기본 클래스로 대체 될 수있다

ISP (인터페이스 편석 원리 인터페이스 분리 원리) 한 역할 플레이 종류이지만 배우 인터페이스의 구현에 해당하는 재생하는 단계에서이 역할 인터페이스 등가. 따라서, 대신 역할에 대한 간단한 인터페이스를해야한다, 인터페이스 분리의 원칙은 다른 클라이언트를 처리 할 수있는 폭이 좁은 서로 다른 인터페이스를 제공하기 위해 같은 역할을 말하는 것입니다.

교과서 학습과 문제 해결 과정

  • 질문 1 : 인터페이스 인터페이스를 구현할 수 있습니다
  • 문제 1 해결 : 아니, 인터페이스 메서드의 구성원이 추상적이지만, 메소드 본문 달성 할 수없는 상속 된 인터페이스가 없습니다.
  • 질문 2 : 다중 상태의 필요성은 무엇입니까
  • 문제 2 해결 방법 : 상속, 거기에 다시 작성됩니다뿐만 아니라 부모 클래스 객체 참조 점은 하위 클래스

그 과정에서 해결 코드 디버깅 및 문제

  • 질문 1 :

  • 문제 1 해결 방법 : 부주의로 파일의 이름을 발견하지 않았기 때문에 균일하지 않다

코드 호스팅

지난 주 시험 잘못된 질문 요약

  • 잘못된 질문 1
    ? 다음 코드는리스트 INT 값의 배열이 다음과 같다고 가정 할 무엇에서, TEMP 이전 초기화 int 값의 일부이다 않으며, C는 0으로 초기화 된 int이며
    대 (J = 0; J <크고 List.length, J ++) (리스트 [J] <TEMP) C ++의 경우는
    .IT는 TEMP에서 최소값 저장을 찾아
    B .IT는 IT 및 TEMP에 저장 최대치 찾아
    C .IT (가) 목록에 요소 수를 동일하게 작은 값을 카운트
    .IT는 수의 임시 마지막으로 내 작은 목록에서 D 요소의 카운트
    목록에있는 값에서 전자 .IT의 종류는 주문 오름차순에있을
    정답 : D 답변 : B의
    분석 : if 문 (목록 [J] <임시 )의 C + 목록의 각 요소는 온도와 비교하고, 소자 온도 미만 C에 요소를 추가 만하면,리스트 내의 요소들의 개수 온도 미만 산출하고, 그 결과의 C에 저장된다.
  • 잘못된 질문이
    표시 번호의 다음 목록의 어느 정확하게겠습니까 정렬을 통해 선택 첫 번째 패스 후 배열 알고리즘 9,4,12,2,6,8,18 {}?
    0.9 ,. 4, 12, 2, . 6 ,. 8, 18은
    ,. 6 ,. 8 (2)는 18이며, B 0.4 ,. 9, 12은
    18이고, C 0.2 ,. 4, 12 ,. 9 ,. 6 ,. 8
    (18)은 12이고, D 0.2 ,. 4 ,. 6 ,. 8 ,. 9
    E 0.2, 4, 9, 12 , 6, 8, 18
    정답 : C 응답 : B의
    분석 : 각각의 연속적인 선택 정렬을 송신하면, 정렬은 가장 작은 값을 찾아 현재의 배열 인덱스 스위칭되지 (현재의 인덱스는 0에서, 마지막에서 두 번째 위치의 배열 됨). 인덱스 0, SO2 전환 위치 및 아홉 개 교환과 첫 번째 패스, 가장 작은 요소 2.
  • 오답. 3
    모두 삽입 및 선택 알고리즘은 ________ 정렬되는 어레이의 N - 값의 개수이고 ON 효율.의 정렬 순서가있는 정렬
    .N의
    B * .N 로그 N-
    C ^ .N 2
    D ^ .N을 . (3)
    E .Insertion 정렬 및 n은 선정 효율성의 효율이 정렬 2 ^ N 갖는
    C 응답 : B의 정답
    분석 : 정렬 알고리즘 두 종류의 두 개의 중첩 루프를 사용를 각 루프는 N 회에 대해 실행될 두 알고리즘의 복잡도가 n 개의 * N 또는 N ^ 2이다.
  • 잘못된 질문입니다. 4
    무엇 메커니즘 위임 위임 주요 프로그래밍 객체 지향 프로그래밍인가?
    .encapsulation, 상속, 다형성의
    B의 .encapsulation, 추상화, 상속
    C의 .inheritance, 다형성, 재귀
    D의 .polymorphism, 재귀, 추상화
    위 .none의 E
    정확한 답변 : 답변 : C
    분석 : 그들이 실수로 수정되지 않도록 절연 패키지, 코드의 일부입니다 상속은 코드 재사용을 제공, 이름의 다형성 (polymorphism), 의미의 복수. 추상화가 유용한 속성이지만 메커니즘이 아니다. 제어 구조는 반복적 인 사이클이나 반복을 나타내는 다른 방법을 제공한다.
  • 잘못된 질문 5
    캔 프로그램 전시는 다형성은 초기 IT 단지 구현은 바인딩? 경우
    다형성의 한 형태가 과부하되기 때문에 그렇군요는
    B의 - 안돼, 바인딩 다형성을 늦게은 지원되지 할 수없이 때문에
    C 그렇군요는 SO AS 롱 프로그램에서 상속을 사용하기 때문에 및 / 또는 인터페이스 IT에서 지원하는 다형성
    D 그렇군요, 초기 바인딩은 다형성과는 아무 상관이 없기 때문에
    상기 위의 E의 .none
    정확한 답변 : 답변 : B의
    인터페이스는 넥타이 다형성과 상속을 지원하지만, 비록 : 분석 그것은 주어진 밤 상황에서 지원됩니다. 그러나 과부하 다형성 형태 - A (방법) 이름, 본체의 복수 - 오랫동안 사용시에 과부하 다형성을 사용하여 프로그램.
  • 잘못된 질문 (6)는
    이진 검색의 효율성에 무엇입니까?
    .N ^ 2
    B .N
    C는 N- .log2
    D .N / 2
    상기 위의 E의 .none을
    정답 : D : 당신의 대답 C
    분석 : 각각의 비교와, 이진 검색은 남아있는 데이터의 약 절반을 제거합니다. 이 프로세스는 요소를 찾기 위해 계속 발견하거나 가능한 모든 데이터가 삭제되었습니다. 데이터 요소 미만 전에, 그래서 데이터 요소를 n 개 존재하므로, 판독 횟수가 log2n를 반감 할 수있다.

    페어 피어 검토

등급

  1. 적절한 사용 인하 구 (1 점)
  2. 요소 (1 점) 서식 범위
  3. 교과서 학습과 문제 해결 과정, 세 가지 질문에, 3 점을 추가

  4. 코드 디버깅 및 문제 해결 프로세스, 두 가지 문제 플러스 2 점
  5. 주 300여 가지 유효한 코드 (플러스 2 점)
  6. 정서 경험은 큰 빈 1 점을 떠나지 않아
  7. 조판 벌금을 더한 점
  8. 진행 바는 학습 시간을 기록하고 1 점의 상황을 개선
  9. 손 -에 새로운 코드를 작성가 있습니다, 1 점을 추가
  10. 클래스 선택 후 1 점을 확인했다
  11. 깊이 잘못된 질문 학습, 1 점을 추가
  12. 댓글 심각하게, 나는 문제 및 블로그 코드 플러스 1 점을 지적 할 수
  13. 쌍 정통 플러스 1 점을 학습

댓글 템플릿 :

  • 문제 나 블로그를 학습 가치 :
    • 좋은 조판
  • 코드 학습이나 문제 가치가있다 :
    • 자바 학습에 매우 어려운 학생들에게 이번 주 자매 결연, 내가 자바를 배우고 열심히 일해야 나타내는 성장의 부호 량을,
    • 창고 비트 혼란을
  • 참고 예

댓글은 학생들의 블로그와 코드를했다

  • 이번 주 학습 페어링
  • 지난 주 블로그 동료 평가의 경우

기타 (지각, 사고, 등, 선택 사양)

자바 학습 콘텐츠 점점 더 많은 할당 내가 구축하고 싶습니다 성장

학습 진행 막대

코드 라인의 수는 (/ 축적 추가) 블로그 양 (/ 축적 추가) 시간 학습 (/ 축적를 추가)
5000 행 (30) 400시간
첫 번째 주 200/200 2/2 20/20
둘째 주 300/500 2/4 38분의 18
셋째 주 500/1000 3/7 60분의 22
넷째 주 1,300분의 300 2/9 90분의 30
다섯째 주 2,986분의 1,526 2/9 115분의 20
여섯째 주 3,823분의 837 2/11 135분의 20

"계획된 학습 시간"과 끝에 "실제 학습 시간"를 계획 할 수있는 능력을 향상시킬 수 있는지를 기록하십시오. 이 연구는 매우 중요한 작품이다 유용합니다.
추정 식 소비 : Y는 X = X + / N은 , Y = XX / N, 훈련 종종, X는 Y가 닫히고.

참조 : 왜 그렇게 열심히하는 소프트웨어 엔지니어링 소프트웨어를 추정 , 소프트웨어 공학 추정 방법

참고 자료

추천

출처www.cnblogs.com/yanhan1/p/11681715.html