質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

4回答

1037閲覧

引数の個数の増やし方・減らし方(Java)

shijimiiiiiiiii

総合スコア17

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2019/07/03 11:46

仕事に関わることですので、守秘義務を果たすため分かりにくかったら申し訳ありません。
使用言語はJavaです。

パスワードを変更する、作成済みのAPI(以下、A)があるとします。(使用者はエンドユーザー)
それとは別に、問い合わせがあったときなどに管理者のみが使う、パスワードを変更するAPI(以下、B)を作ろうとしています。
ロジック(DBのデータの削除や登録・更新などの処理)は全く一緒なのですが、画面側から渡ってくる項目(ユーザーが入力したもの)が異なります。
それに伴い、メソッドの引数にも変更が生じます。


【画面から渡ってくるものの例】

A : id, userName, password
B : id, password, insertUser


このような場合、Bを作るには、Aのソースコードをコピぺして、リクエストのエンティティの中身や引数などを変更するしか方法は無いでしょうか。
画面から渡ってくる項目が異なるため、Aを呼ぶことは無理だと思うのですが、どうにかしてAを有効に活用する方法はありますでしょうか。
どうかご教示ください。

Java初心者で、職場の研修なども無かったため分かりにくい部分や足りない部分がありましたら、コメントでご指摘いただけると嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

swordone

2019/07/03 14:39

userNameとinsertUserは何が異なるのでしょうか?それに、入力データが異なるのに「ロジックが全く同じ」などあり得るのでしょうか?
guest

回答4

0

共通部分を別の関数としてAの外に書き、AやBからはそれを呼びます。

投稿2019/07/03 13:28

otn

総合スコア84499

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

素直に考えれば B の処理(クラス)を作って
それを継承して A を作るって感じになるんじゃないかなあ。
具体的な条件が分かれば、また違ったアプローチになるかもだけど。

投稿2019/07/03 13:47

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takasima20

2019/07/03 13:50

とりあえず、どこまで手を入れていいのか次第で やり方が決まってくると思います。
guest

0

java

1public void A(id, userName, password) { 2 ... 3 some(...); 4 ... 5 } 6public void B(id, password, insertUser) { 7 some(...); 8 ... 9} 10 11private void some( ....) { 12}

共通の処理を some() に分離して、A(), B() からそれを呼び出すようにしては如何でしょう。

投稿2019/07/03 22:36

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

id, userName, password, insertUser

を引数に持つ関数を書いて、不要な引数には、""いれるとかして、それを関数内で判断して処理すればいいんでは

投稿2019/07/03 11:54

y_waiwai

総合スコア87747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問