[過去ログ] 【まず1嫁】くだすれPython(超初心者用) その58 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
363
(3): 352 [sage] 2022/12/11(日) 13:09:25.66 ID:HrCBt1qU(1/2) AAS
レスしてくれた方々、ありがとうございます

>>354
354(2): デフォルトの名無しさん [] 2022/12/10(土) 23:44:40.69 ID:OtY+jJHH(2/2) AAS
>>352
super class が abstract class かそうでないかで分ける
スーパークラスは一応通常クラスにしてあります

>>356
356(1): デフォルトの名無しさん [sage] 2022/12/11(日) 00:16:04.57 ID:Lp5RN2UT(1) AAS
それ関係ある?
@abstractmethodじゃなかったら呼べてしまうから?

>>352
どっちにしろ空定義できないからpassでOK
分かりました

>>357
357(1): デフォルトの名無しさん [] 2022/12/11(日) 02:25:27.32 ID:p7BQ55Fk(1) AAS
>>352
オーバーライドしてないサブクラス経由でひな形のメソッドを呼ぶようなコードが書かれた場合にどう対処したい?
それ次第
厳密に言えば呼ばれたら困るには困るんですが、
勉強で一人で書いてるコードなのでそれはあり得ないんです
368
(1): デフォルトの名無しさん [] 2022/12/11(日) 14:58:13.66 ID:Mt+1J+8e(1) AAS
>>363
>勉強で一人で書いてるコードなのでそれはあり得ないんです

そういう考え方はよくないね
勉強で書いてるなら尚更良くない
他人だけでなく自分がうっかり間違えた場合にコードにどう振る舞って欲しいかを考えないと
370
(2): 363 [sage] 2022/12/11(日) 15:32:54.99 ID:HrCBt1qU(2/2) AAS
レスありがとうございます
ちなみにカードゲームを作っていて、スーパークラスがPlayer、
サブクラスがHuman・Computerです

>>365
365(1): デフォルトの名無しさん [sage] 2022/12/11(日) 13:32:20.67 ID:mmiA1K97(2/2) AAS
>勉強で一人で書いてるコード

数日後や数ヶ月後数年後の自分は他人だと思え
はい、それは時間が経った時に実感します
ただ今回は300行程度の短いものですから…

>>368
そうなんですね
ただ、そのスーパークラスをインスタンス化することは無いです

>>369
369(1): デフォルトの名無しさん [] 2022/12/11(日) 15:08:27.80 ID:FWNEJR9L(1) AAS
サブクラス化するときにオーバーライドを強制したいなら抽象メソッドにして中身はpassで可
オーバーライドを強制はしないけど該当メソッドが呼ばれた時はエラーにしたいなら通常メソッドでNotImplementedError
基本的にはこの2つのどちらか

強制もしたくないし呼び出されてもエラーにしたくないしpass以外のデフォルト実装も提供したくないなら通常メソッドでpassってことになるが
それが一番適切な選択になるようなユースケースは無いんじゃね?
そうなんですか
いろいろ制約をかけるとPythonらしくない、と人に言われたこともありまして
374: デフォルトの名無しさん [] 2022/12/14(水) 21:44:28.17 ID:XhtdH9iq(1/2) AAS
>>370
>>スーパークラスをインスタンス化することは無い

>>363
>>354
スーパークラスは一応通常クラスにしてあります

矛盾してるんだよな
意味わからず調べず返事するからだろうけど
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.042s