20182328 2019-2020-1「データ構造とオブジェクト指向プログラミング、」最初の4週間の学習概要
コンテンツの概要を学びます
1、クラスとオブジェクトをよりよく理解します。
2、静的クラスと静的メソッドを学びます。
学習クラス間の関係の3、異なったタイプ。
4、ヘビーデューティーなデザインと学習方法。
5、デバッグする方法を学びます。
教科書の学習と問題解決のプロセス
- 質問1:なぜ、いくつかの変数が同じ名前にすることができていますか?
- 問題1ソリューション:メソッドとインスタンス変数内で宣言ローカル変数はクラスレベルで宣言することができますが、同じ名前を持ちます。
- 質問2:メソッドのオーバーロードを使用することは何ですか?
- 問題2ソリューション:メソッドは、その後、ヘビーデューティー、簡単に呼び出しを使用しますされていないパラメータのリストに直面する可能性があります。
プロセスで解決コードのデバッグおよび問題
質問1:変数のエラーを定義するには、違法な表現を表示します。
- 質問1つのソリューション:プライベートJavaがキーにカプセル化され、インスタンス変数がプライベートとして宣言され、そのプライベート追加し始めてしなければなりません。
質問2:クラスのエラー、無効なメソッド宣言を表示します。
- 問題2解決策:同じファイル名にクラス名。
- 質問3:アクセス方法が間違っています
質問3ソリューション:アクセスメソッド、変数名の最初の文字を大文字にする必要があります。
コードホスティング
(ファイル名を指定して実行は、スクリーンショットのstatistics.shスクリプトを結果)
先週試験間違った質問の概要
間違った質問1
命令スーパー(で);?次でないのはどの
現在のクラスの中で定義される方法であって、スーパーで.calls
方法でBの.calls、スーパークラスで現在のclass'parentで定義された
メソッド、スーパーでのCの.calls定義されているように中java.langの
Dは、現在のクラスでASで定義されたコンストラクタで.calls
現在でAS class'parentクラスで定義されたコンストラクタでEの.calls
:答え
解析:特定の要素で現在のクラスの親クラスに指示超特急コール。メッセージなしのスーパー(に加えて)ので、親クラスのコンストラクタの呼び出しです。間違った問題2
のJavaのすべてのクラスは、直接的または間接的に________でクラスのサブクラスです。
A .Wrapper
B可能System.String
C .Reference
D .This
E .Objectの
答え:Eの
解析:Javaはすべてのクラスは親クラスを持っていることが必要です。クラスが別のクラスを拡張しない場合、デフォルトでは、オブジェクトクラスを拡張します。だから、オブジェクトは、親または親のすべての他のクラスのJavaクラスです。- 間違った質問3。
方法A以下のオブジェクトクラスのではない?
.clone
B .compareTo
Cは.equals
D .toString
Eザ・上記のオブジェクトクラスのメソッドの.ALLです
回答:Bの
分析:オブジェクトクラス定義のクローニングオブジェクトのいずれかのコピーを作成すると、2つのオブジェクトが同じオブジェクトであるかどうかを決定するために等しく、オブジェクトのtoStringは、文字列に変換されます。しかし、目的を達成するためではないのcompareTo、明示的インターフェイスの実装に匹敵する任意のクラスで実装する必要があります。 - 間違った質問4
trueにJavaクラスについては、以下にあるのはどれですか?
Ltd.All持っていていなければならクラスは、1つの親を持っていますが、任意のナンバーチルドレン(派生または拡張)のクラスの月
B、Ltd.Allはインクルードはクラス1子(派生または拡張)クラスしかし、月を持っていなければなりません。任意の親クラスの数が持っている持って
Cを、Ltd.Allクラスが持たなければならない親クラス1有し、A SINGLEで、子クラス(拡張または派生)が持つことができる
D、Ltd.Allは、クラスが持って持つことができ、任意の数(詳細または0)は、任意の親クラスと子の数(由来のクラスの)拡張または
E、Ltd.Allクラスが持つことができる持っている0または1のいずれかと任意のクラス数子供の親は(派生または拡張)のクラスが
答え:
解析:Javaサポートの継承を、しかし、Javaクラスは、任意の数を持つことができるので、多重継承をサポートしていません。子ノードが、一つだけの親。また、ので、すべてのJavaクラスは、Objectクラスから直接または間接的に継承するため、すべてのJavaクラスは一つだけの親を持っています。 - 間違った質問5
として知られているのと同じ、親クラスの子供たちに二つの
Aは.aliases
Bの.relatives
C .clones
D .brothers
E .siblings
Eの:解答
分析:同じ親の2人の子供との関係が呼ばれた兄弟(兄弟をそれは)性別を暗示します。クローンは、同じオブジェクトのコピーで、別名は同じオブジェクトです。Javaでは、兄弟や親戚は、クラス間の関係を定義するために使用されることはありません。 間違った質問6は、
これらのうちのどれが正しいかどうか
II.A基本クラスの親クラスまたはスーパークラスIS
BクラスII.Aベース子供派生クラスまたはクラスである
C子II.Aスーパー親クラスのクラスである
Dクラス親II.A子供のITSのサブクラスです
.none上記のE
答え:
解像度:用語ベースクラス、親クラス、お互いのスーパークラスの同義語。彼らは、継承クラスは、後続の拡張クラスのための基礎として使用される暗示基底クラス(継承)。
ペアピアレビューと
- 15ポイント:スコアに基づいて、私はこのブログの得点を与えます。次のようにスコアは以下のとおりです。
- 適切な使用のマークダウン構文(1点):
- 要素の範囲(1点)テンプレート
- 教科書の学習と問題解決プロセス、プラス4ポイント
- プロセスで解決コードのデバッグと問題が、問題は、3ポイントを追加します
- 週300以上の支店有効なコード(プラス2ポイント)
- その他のプラスポイント:3
コメントテンプレート:
- 学習課題やブログワース:
- 有益かつ合理
- 問題が完全に解決され、
- 分布マップがあります。
- コードは、学習や問題価値があります:
- 正しいと簡潔な
- 方法は、それが学習の価値がある変えます
コメントは、学生のブログやコードを持っていました
- ペア今週の学習
-
その他(知覚、思考、など、別売)
1、徐々にいくつかの自由時間より少しキャッチアップし、難しいが、マルチスペアなっ学ぶために2週間の内容は、4週目、より多くを学ぶことができました、私は、コードをノックするのに多くの時間を費やすしてみてください。
2、基盤を築くために、教科書、コードの累積量でコードをノックノック。
-
学習の進捗バー
コードの行の数(/蓄積を追加) | ブログ量(/蓄積を追加) | 学習時間(/蓄積を追加) | 重要な成長 | |
---|---|---|---|---|
目標 | 5000行 | 30 | 400時間 | |
最初の週 | 200/200 | 2/2 | 20/20 | |
第二週 | 300/500 | 2/4 | 38分の18 | |
第3週 | 500/1000 | 3/7 | 60分の22 | |
4週 | 300/1300 | 2/9 | 90分の30 |
最後に、「計画的な学習の時間」と「実際の学習時間」を記録してみてください、あなたが計画する能力を向上させることができるかどうかを確認。この研究は、非常に重要な仕事であるにも便利です。
推定式消費:Y = X + X / N 、Y = XX / Nを、 より頻繁に訓練し、X、Yが閉じます。
参考:なぜそんなにハード、ソフトウェアエンジニアリングソフトウェアを推定され、ソフトウェアエンジニアリングの推定法
プランの学習時間:30時間
実際の学習時間:25時間
改善点:
(利用可能なより多くの参照現代のソフトウェア工学コースウェア
ソフトウェアエンジニア自己評価フォームへの能力を)