ディレクトリ
20182324 2019-2020-1「データ構造とオブジェクト指向プログラミング」の要約を学ぶ6週間
コンテンツの概要を学びます
1、遺伝多型インターフェイスの使用
2、スタティックバインディングと結合動的
3、例外がスローされている問題
4、異常の治療方法
5は、試してキャッチ最後に文および句
6、異常転写
7、I / O異常
標準I / Oストリーム | 説明 |
---|---|
システム。に | 標準入力ストリーム |
システム。でる | 標準出力ストリーム |
システム。ERR | 標準エラーストリーム(出力エラーメッセージ) |
教科書の学習と問題解決のプロセス
- 質問1:メソッドのオーバーロードや方法の違いを上書きします
- 問題1つのソリューション:
相違点 | メソッドのオーバーロード | メソッドのオーバーライド |
---|---|---|
英文 | オーバーロード | オーバーライド |
定義 | 同じメソッド名、異なる種類のパラメータの数かどうか、必要な権限 | 同じことが、より制限権限を持っているすべてのメソッド名、メソッドのパラメータの型、戻り値の型を書き換えることはできません |
スコープ | これは、クラスで発生します | 派生クラスで置き |
- 問題2:インタフェースは、メソッドのセットに一定と抽象インタフェースのセットでインスタンス化できないので、なぜそれが新しいオブジェクトをインスタンス化することができるメイン処理であります
- 問題2ソリューション:インタフェース自体が本当にインスタンス化されるべきではなく、クラスのインターフェイスを実装するオブジェクトへのオブジェクト参照変数のポインティングを宣言。
プロセスで解決コードのデバッグおよび問題
- 質問:Gitはどのようにファイルのアップロードを元に戻すにはしたくありません
- 問題解決策:あなたがコミットしたがプッシュしていなかった、使用している場合は
git reset --soft HEAD^
、コミット操作を元に戻すコマンドを、次に使用するgit reset HEAD
コマンドを操作を追加元に戻す;だけコミットしていないを追加した場合、第2の操作を直接実行することができます。
コードホスティング
(ファイル名を指定して実行は、スクリーンショットのstatistics.shスクリプトを結果)
先週試験間違った質問の概要
我々は調べることによってソートアルゴリズムを比較
ソートアルゴリズムによって実行される命令の数A.を
B.アルゴリズム自体内の命令の数(その長)
C.ソートアルゴリズムで使用されるループの種類
D.メモリ空間の量が必要アルゴリズムによって
得られた配列が完全にソートまたは部分的にのみソートされているかどうかをE.
解析:異なるソートアルゴリズムは、命令の実行の異なる数を必要とします。例えば、選択ソートは通常、挿入ソートより多くの命令が必要です。だから、私たちは、それぞれが配列をソートするために実行するのにかかる命令の数によってソートアルゴリズムを比較します。私たちは、最良の場合におけるソートアルゴリズムは、最悪の場合に実行される命令の最大数、または最小数をカウントし、あるいは平均的に実行された命令の数をカウントすることがあります。2つのソートアルゴリズムは配列をソートするための命令とほぼ同じ数が必要な場合は、我々はまた、必要なメモリ空間の量を調べることがあります。次の文のどれが完全に本当ですか?
A.クラスは抽象として宣言されている場合は、クラス内のすべてのメソッドは抽象的で、オーバーライドする必要があります
クラスは抽象として宣言されている場合は、クラスの一部のメソッドは、自分の体が省略されていることB.を
クラスが宣言された場合C.を抽象的であることを、クラスのすべてのメソッドは、自分の体が省略されている必要があり
、クラスが抽象であると宣言されている場合は具象クラスは、抽象基本クラスから派生したときに、すべてのインスタンス変数をオーバーライドする必要があり、その後D.を
作成するための唯一の方法:解析抽象クラスは、クラス内のいくつかの抽象メソッドを作成することです。だから、答えBは真です。確かに抽象クラスのすべてのメソッドは抽象的である必要はありません。それが唯一の事前バインディング実装している場合、プログラム展示多型はできますか?
A.はい、多型の一つの形がオーバーロードしているため、
遅延バインディング多型なしでサポートすることができないので、B.いいえ
限りプログラムは相続及び/またはインターフェイスを使用して、それが多型サポートしているので、[はいC.を
事前バインディングを持っているので、はいD.を多型とは何の関係もありません
上記のE.なし
解析:1は、遅延バインディングを持っている場合、継承とインターフェイスのサポート多型が、彼らは唯一そう。しかし、オーバーロードはそう限り、プログラムはオーバーロードを使用して、多型が使用されている多型1(メソッド)の名前、複数体の形態です。バイナリ検索の効率とは何ですか?
A. N ^ 2
B. N
C. LOG2 N
D. N / 2
上記のE.なし
解析:各比較バイナリサーチでは、残りのデータの約半分を排除しません。求めた要素が見つかるまでのいずれかまたはすべての可能なデータが除去されるまでこのプロセスは継続します。n個のデータ要素があるので、一つはデータの量の前にデータを半減できる回数未満つの要素は、LOG2のNです。int型、float型、doubleまたは文字列の配列をソートすることが可能であるが、そのようなCDクラスとしてObjectクラスの配列ではありません。
A.真
B.偽
解析:限り型は2つの要素を比較し、それらの適切な順序を決定するために、いくつかのメカニズム(等しい、より小さい、より大きい)を有するように、アレイの任意のタイプを分類することが可能です。CDクラスはcompareToメソッドを持っているのであれば、それらをソートすることも可能です。Javaプログラムは、いくつかの異なる方法で例外を処理することができます。Javaプログラムが例外を扱うことができること方法は次のうちどれではないでしょうか?
A.は、例外無視
それはtryおよびcatchステートメントを使用して生じたところB.は、例外を処理し
、それを扱うことができ、他の方法に例外を伝播C.
処理するD.が事前に定義された例外クラスに例外をスロー
E.のすべてを上記は、Javaプログラムが例外を扱うことができる方法です
解析:コードはtry文の内側に収容され、適切なcatchステートメントが実装されているか、あるいはそれが例外を発生させた方法を呼び出されたメソッドに伝播され、そこに巻き込ま場合スローされた例外は、どちらかの現在のコードでキャッチされました適切なcatchステートメントは、またはそうでなければ、これらのメソッドが呼び出されたことを逆の順序でメソッドを介して伝播され続けます。mainメソッドに達すると、このプロセスは、しかし、停止します。そこにキャッチされない場合は、例外がプログラムの終了を(これは、例外を無視して答えることになる)が発生します。ただし、例外はExceptionクラスにスローされません。いくつかのコードが例外をスロー持つためには、次の予約語のどちらを使用するのでしょうか?
A.スロー
B.スロー
C.試し
D.のThrowable
E.ジャンプ
予約語スローは、例外が検出された場合のように、例外をスローするために使用される:解析場合(スコア<0)新しいIllegalTestScoreException(「入力スコア」を投げます+スコア+)が「否定的です」。
ペアピアレビューと
コメント:
- 学習課題やブログワース:
- イラスト、参照があります
- より多くの熟練使用してマークダウンフォーマット
- コードは、学習や問題価値があります:
- 読みやすいコードフォーマット仕様、空白の使用の合理化、
- 14ポイント:スコアに基づいて、私はこのブログの得点を与えます。次のようにスコアは以下のとおりです。
- 図1に示すように、適切な使用の値引きの構文(1点)
- 図2に示すように、テンプレートの要素が完了した(1点)
- 3、教科書の学習と問題解決プロセス(2点)
- 図4に示すように、コードのデバッグ及び工程(1点)での問題を解決
- 5、有効なコード週間にわたり300支店(プラス2ポイント)
- 6.その他のポイント:
- 感情、経験は大きな空の1ポイントを残しません
- プログレスバーは、学習時間を記録し、1ポイントの状況を改善します
- ハンズオン新しいコードを書くことがありますが、1ポイントを追加
- コードはメッセージ仕様1ポイントをコミット
- 深さの間違った質問を学ぶ、1ポイントを追加
- コメントは真剣に、私は、問題やブログのコードに加えて1ポイントを指摘することができます
- ペアは本物のプラス1ポイントを学びます
- 参考例
コメントは、学生のブログやコードを持っていました
- ペア今週の学習
- ペア学習コンテンツ
- Javaのソケットプログラミング、データ転送を学びます
- シーザーは、暗号を使用することを学びます
- Javaのパスワード、RSAアルゴリズムとDHアルゴリズムについて学ぶためにDESアルゴリズム
- シンプルかつ複雑な合理的な電卓を書きます
- 電卓と一緒に書かれたJavaソケットサーバーとクライアント、リモートコンピューティング機能を使って書かれました
その他(知覚、思考、など、別売)
主にのみ、実験学習コンテンツのためのナショナルデーの休日今週、。
学習の進捗バー
コードの行の数(/蓄積を追加) | ブログ量(/蓄積を追加) | 学習時間(/蓄積を追加) | 重要な成長 | |
---|---|---|---|---|
目標 | 10,000行 | 30 | 400時間 | |
最初の週 | 109分の109 | 2/2 | 28/28 | Linuxのbashのコマンドに精通したJavaの基本的な構文を学びます |
第二週 | 659分の550 | 1/3 | 51分の23 | JDBデバッガコマンドを習得するために学びます |
第3週 | 1028/1687 | 2/5 | 81分の30 | コンパイルと学習クラス |
4週 | 542/2229 | 2/7 | 103分の22 | オーバーロード、クラスの継承、重合を学びます |
5週目 | 1197/3426 | 2/9 | 118分の15 | 学習Javaのソケットは、暗号化アルゴリズムを理解します |
6週 | / | 1/10 | 140分の22 | 学習多型と例外処理 |
参考:なぜそんなにハード、ソフトウェアエンジニアリングソフトウェアを推定され、ソフトウェアエンジニアリングの推定法
プランの学習時間:20時間
実際の学習時間:22時間
改善点:
(利用可能なより多くの参照現代のソフトウェア工学コースウェアソフトウェアエンジニア自己評価フォームへの能力を)