첫 주에는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Java는 플랫폼 별 문제를 어떻게 완화합니까? Java는 JVM 및 표준 라이브러리를 통해 플랫폼 독립성을 구현합니다. 1) Bytecode 및 JVM을 사용하여 운영 체제 차이를 추상화합니다. 2) 표준 라이브러리는 Paths 클래스 처리 파일 경로 및 Charset 클래스 처리 문자 인코딩과 같은 크로스 플랫폼 API를 제공합니다. 3) 최적화 및 디버깅을 위해 실제 프로젝트에서 구성 파일 및 다중 플랫폼 테스트를 사용하십시오.

java'splatformincendenceenhancesmicroservicesarchitectureDeploymentFlexibility, 일관성, 확장 성 및 포트 가능성

Graalvm은 Java의 플랫폼 독립성을 세 가지 방식으로 향상시킵니다. 1. 교차 언어 상호 운용성, Java는 다른 언어와 원활하게 상호 작용할 수 있습니다. 2. 독립적 인 런타임 환경, Java 프로그램을 GraalvMnativeImage를 통해 로컬 실행 파일로 컴파일합니다. 3. 성능 최적화, Graal Compiler는 Java 프로그램의 성능과 일관성을 향상시키기 위해 효율적인 기계 코드를 생성합니다.

ToEffectIallyTestJavaApplicationSforplatformcompatibility, followthesesteps : 1) setupAutomatedTestingAcrossMultiplePlatflatformsUsingCitools likeJenkinsorgitHubactions.2) 행동 관리자는 realHardwaretoCathissesnotfoundInvironmentments.3) Checkcross-Pla

Java Compiler는 소스 코드를 플랫폼 독립적 인 바이트 코드로 변환하여 Java의 플랫폼 독립성을 실현하여 JVM이 설치된 JVM 프로그램에서 모든 운영 체제에서 실행할 수 있습니다.

Bytecodeachievesplatformincendence는 executedbirtualmachine (vm)을 beenecutedbyavirtmachine (vm)을 허용합니다

Java는 100% 플랫폼 독립성을 달성 할 수 없지만 플랫폼 독립성은 JVM 및 바이트 코드를 통해 구현되어 코드가 다른 플랫폼에서 실행되도록합니다. 특정 구현에는 다음이 포함됩니다. 1. 바이트 코드로의 컴파일; 2. JVM의 해석 및 실행; 3. 표준 라이브러리의 일관성. 그러나 JVM 구현 차이, 운영 체제 및 하드웨어 차이, 타사 라이브러리의 호환성은 플랫폼 독립성에 영향을 줄 수 있습니다.

Java는 "Writ 2. 유지 보수 비용이 낮 으면 하나의 수정 만 필요합니다. 3. 높은 팀 협업 효율성은 높고 지식 공유에 편리합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

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

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

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