Java OOP: OOP 모험이 계속되는 주간
첫 주에는 OOP에 대한 일반적인 주제를 언급했는데, 짧은 시간 안에 이러한 주제에 대해 꽤 많이 배울 수 있었습니다. 시간의 양. 하지만 아직 다루어야 할 주제가 남아 있었습니다. 이것이 OOP의 기본이라는 점을 고려하여 Java가 제가 100% 집중하고 싶은 언어인지 결정하는 중입니다. , 대학을 졸업한 후에도 테스트 경험 때문에 백엔드에 대한 특별한 애정이 있다고 말씀드리고 싶습니다. 내 결정에 영향을 미쳤습니다.
이번 두 번째 주에는 제가 좋아하는 스레드, 열거형 또는 일반과 같은 주제를 검토할 시간이 많지 않았습니다. 보류 중이었습니다. 그러나 저는 다음과 같은 작업을 수행할 수 있는 레스토랑을 시뮬레이션하는 작은 프로젝트를 진행했습니다.
- 제품이나 식사 만들기 ?
- 해당 제품을 기준으로 주문하고 소비된 수량을 표시합니다.
- 개별 주문을추가한 후 표시
- 모든 주문 표시, 사용자가 원하는 만큼 주문을 추가할 수 있는 옵션이 있습니다.
주로 데이터 검증을 포함하여 OOP의 모든 측면을 다루고 로직을 계속 연습하기 위해 만들었습니다. 거의 다 끝났지만 아직 세부 사항을 추가하는 중입니다. 준비가 되면 내 저장소에 업로드하겠습니다.
추가로 또 다른 OOP 주제와 매우 유용한 주제를 다루었습니다.
어느 것? 관계형 클래스, Try and Catch 및 파일.
이러한 주제가 나에게 어떻게 유용했는지, 그리고 이 주제의 실제 적용 방식을 어떻게 이해했는지 간략하게 언급하겠습니다.
관계형 수업
관계형 클래스는 이해하고 사용하는 데 시간이 많이 걸린 주제입니다. 그러나 일단 익숙해지면 쉽게 구현할 수 있습니다. 제가 이 개념을 가장 많이 사용한 방식은 1대N 관계입니다. 이는 B 클래스의 여러 객체를 A.
예를 들어car에 여러 owner가 있도록 하려면 Owners 클래스에서 Cars 클래스로의 관계가 필요합니다.
Car 클래스 생성자에서목록(저는 ArrayList를 사용했습니다)을 전달해야 하며 이 목록은 Owner 생성자의 개체를 기반으로 생성됩니다. 따라서 속성(이름, 나이, ID 등)을 가진 소유자는 이러한 속성을 가진 객체를 생성할 수 있는 Car 생성자에 연결됩니다.
다음은 1대N 관계가 어떻게 적용되는지 보여주는 간단한 예입니다: https://pastebin.com/dX6SDWwp
이 기능은 특정 개체를 다른 개체와 "연결"해야 할 때 유용합니다. 그래야 단순히 배열이나 다른 방법으로 연결되지 않고 직접적인 관계를 가질 수 있습니다.
시도하고 따라잡으세요 ⚙️
Java에서 try와 catch를 사용하는 것은 제가 사용해 본 다른 언어보다 더 많이 구현한 것입니다. 내 IDE가 이를 필요로 하는 일부 예외에 대해 try and catch 사용을 자동으로 제안하기 때문이라고 생각합니다.
이 주제는 C 와 같은 다른 언어에 비해 단지 하이라이트일 뿐입니다. 여기서는 C 를 거의 사용하지 않고 오류를 피하기 위해 다른 기술을 선호했습니다. 하지만 오류를 예측하고
갑작스러운 시스템 충돌을 방지하기 위해 try and catch를 사용하는 데 점차 익숙해지고 있습니다.
파일 - JSON/GSON - 직렬화 및 역직렬화
? Java에서 파일 작업이 지난 주말 학습 시간의 70%를 차지했습니다. 그럼에도 불구하고 데이터를 다시 쓰지 않고 유지하기 위해 행렬으로 파일 사용을 구현한 C
에 비해 정보와 예제가 좀 더 많다고 생각합니다.다음과 같은 시스템에 유용했습니다.
- 장바구니
- 재고관리
- 주문 또는 데이터 보존 이 필요한 모든 시스템.
이 경우 Java에서는 객체를 사용해야 하므로 직렬화 및 역직렬화
가 필요합니다.여기서 저는 큰 차이점을 발견했습니다. 작성 방법은 원하는 데이터 유형에 따라 크게 달라지기 때문입니다. 조사하는 데 몇 시간이 걸린 주요 문제는 .txt 파일에 문자를 저장하면 파일을 열 때 바이너리 형식으로 표시되지만 문자를 콘솔에 입력하세요.
데이터를 읽고 쓰는 데 두 가지 방법이 있다는 것을 온라인에서 찾았습니다.
- 바이트를 통해
- 캐릭터를 통해
제가 사용한 방법은 객체를 직접 전달했기 때문에 바이트 기반이었습니다.
아직 Writer 및 Reader 하위 클래스를 사용하는 다양한 방법 간의 차이점을 공유할 만큼 지식이 부족하다고 생각하지만 실제 연습을 하고 있습니다. ArrayList에 저장된 객체를 사용하고 직렬화 및 GSON을 사용하여 역직렬화(객체를 .json 파일의 시스템 내 상태로 유지하기 위해)한 다음 이 데이터를 .txt 파일에 기록하여 에 레코드로 저장합니다. 체계적으로.
마감
지난 주에는 원하는 만큼 진행되지 않았지만 파일 작업에 연구, 응용하는 데 많은 시간이 걸렸습니다. , 그리고 개념 차별화, 검토한 모든 기사의 일부를 뽑아 "실제" 프로젝트에서 테스트할 최종 결과를 얻었습니다. 어떻게 됐는지 공유해 보세요.
GSON 및 .txt에서 언급한 이러한 구체적인 처리와 시나리오는 제가 대학에서 해야 할 일이라는 점을 언급하는 것이 중요합니다. 그러나 JPA 또는 데이터베이스와 같은 다른 방법이 있습니다. 시스템의 데이터를 유지하기 위해 GSON 및 .txt를 반드시 사용할 필요는 없습니다.
더 이상 추가할 것이 없습니다. 누구든지 파일이나 제가 언급한 주제에 대해 의견이 있으면 언제든지 댓글을 달고 제안 사항을 공유해 주세요!
즐거운 코딩하세요! ?
위 내용은 Java OOP: OOP 모험이 계속되는 주간의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

일부 애플리케이션이 제대로 작동하지 않는 회사의 보안 소프트웨어에 대한 문제 해결 및 솔루션. 많은 회사들이 내부 네트워크 보안을 보장하기 위해 보안 소프트웨어를 배포 할 것입니다. ...

많은 응용 프로그램 시나리오에서 정렬을 구현하기 위해 이름으로 이름을 변환하는 솔루션, 사용자는 그룹으로, 특히 하나로 분류해야 할 수도 있습니다.

시스템 도킹의 필드 매핑 처리 시스템 도킹을 수행 할 때 어려운 문제가 발생합니다. 시스템의 인터페이스 필드를 효과적으로 매핑하는 방법 ...

IntellijideAultimate 버전을 사용하여 봄을 시작하십시오 ...

데이터베이스 작업에 MyBatis-Plus 또는 기타 ORM 프레임 워크를 사용하는 경우 엔티티 클래스의 속성 이름을 기반으로 쿼리 조건을 구성해야합니다. 매번 수동으로 ...

Java 객체 및 배열의 변환 : 캐스트 유형 변환의 위험과 올바른 방법에 대한 심층적 인 논의 많은 Java 초보자가 객체를 배열로 변환 할 것입니다 ...

전자 상거래 플랫폼에서 SKU 및 SPU 테이블의 디자인에 대한 자세한 설명이 기사는 전자 상거래 플랫폼에서 SKU 및 SPU의 데이터베이스 설계 문제, 특히 사용자 정의 판매를 처리하는 방법에 대해 논의 할 것입니다 ...

Redis 캐싱 솔루션은 제품 순위 목록의 요구 사항을 어떻게 인식합니까? 개발 과정에서 우리는 종종 a ... 표시와 같은 순위의 요구 사항을 처리해야합니다.
