C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

C# 自作関数のまとめかた

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■92735 / inTopicNo.1)  C# 自作関数のまとめかた
  
□投稿者/ aiten09 (1回)-(2019/10/27(Sun) 16:01:28)

分類:[C#] 

初のオブジェクト指向プログラミングとして
C#を勉強することにしました。
(マイコンなどのC言語、Visual Basicのプログラミング経験はあります)
早速、クラスという概念でつまづきました。

■質問
自作関数群をコードファイル毎ごとに収めていきたいのですが
C#の場合はクラスで纏めるのが一般的なのでしょうか?

C言語ですと
例)
Io.h <- Io設定関数定義用ヘッダファイル
Main.c <- Main関数
Stand.c <- 自作の計算用関数群がまとめられたコードファイル
Io.c <- Io設定用関数群がまとめられたコードファイル
Graph.c <- グラフィック用関数がまとめられたコードファイル
------------------------------------------------
Visual Basic時はクラスは使わず、標準モジュールの中に
プロシージャが共通で使う関数などを入れてまとめておりました。

Main Formの中に自作メソッド(関数)を連連と書くのは視認性が悪いですよね

public partial class Form1 : Form
{}
引用返信 編集キー/
■92736 / inTopicNo.2)  Re[1]: C# 自作関数のまとめかた
□投稿者/ Azulean (1091回)-(2019/10/27(Sun) 17:59:21)
No92735 (aiten09 さん) に返信
> ■質問
> 自作関数群をコードファイル毎ごとに収めていきたいのですが
> C#の場合はクラスで纏めるのが一般的なのでしょうか?

C# の場合は、クラスに属しない関数(メソッド)を作ることができません。
そういう意味では、「一般的か否か」という 2 択ではなく、「そうするしかない」と言えます。
(Form もクラスの 1 つなので、Form に山のように書くことも、「クラスにまとめる」とは言えますが…)

> Main Formの中に自作メソッド(関数)を連連と書くのは視認性が悪いですよね
> ↓
> public partial class Form1 : Form
> {}

そうですね。
ちゃんと事前に設計してクラスを生み出していくやり方もあれば、最初はひたすら MainForm に書き散らかしてから適切なまとまりを切り出す(リファクタする)やり方もあるとは思います。
クラスをどのように作って行くか・分けていくかは、規模感・何人で開発するか・コードの寿命感・スピード感など、いろいろな状況に左右されます。
どのような形に分けていくにしても、名前はちゃんとつけた方が良いです。


C# 移行への学び方の一例として、 public static class IoUtil みたいなクラスを作って、Io.c においていたようなものをひたすら書くということもできます。
まずは C# の言語・雰囲気をなんとなく把握することを優先するなら、そういった static クラス(関数をただ置いている場所)を作るのもやり方の 1 つです。
その後、C# におけるクラスのあり方をいろいろと学んでいくことになるでしょう。
(何を static にして、何をインスタンスにするのかなど)
引用返信 編集キー/
■92737 / inTopicNo.3)  Re[2]: C# 自作関数のまとめかた
□投稿者/ aiten09 (3回)-(2019/10/27(Sun) 20:44:33)
Azulean さん

ご丁寧にご回答下さり、誠に有難うございます。

>まずは C# の言語・雰囲気をなんとなく把握することを優先するなら、
>そういった static クラス(関数をただ置いている場所)を作るのもやり方の 1 つです。
>その後、C# におけるクラスのあり方をいろいろと学んでいくことになるでしょう。
>(何を static にして、何をインスタンスにするのかなど)

はい、実践していきたいと思います。

有難うございました。


No92736 (Azulean さん) に返信
> ■No92735 (aiten09 さん) に返信
>>■質問
>>自作関数群をコードファイル毎ごとに収めていきたいのですが
>>C#の場合はクラスで纏めるのが一般的なのでしょうか?
>
> C# の場合は、クラスに属しない関数(メソッド)を作ることができません。
> そういう意味では、「一般的か否か」という 2 択ではなく、「そうするしかない」と言えます。
> (Form もクラスの 1 つなので、Form に山のように書くことも、「クラスにまとめる」とは言えますが…)
>
>>Main Formの中に自作メソッド(関数)を連連と書くのは視認性が悪いですよね
>>↓
>>public partial class Form1 : Form
>>{}
>
> そうですね。
> ちゃんと事前に設計してクラスを生み出していくやり方もあれば、最初はひたすら MainForm に書き散らかしてから適切なまとまりを切り出す(リファクタする)やり方もあるとは思います。
> クラスをどのように作って行くか・分けていくかは、規模感・何人で開発するか・コードの寿命感・スピード感など、いろいろな状況に左右されます。
> どのような形に分けていくにしても、名前はちゃんとつけた方が良いです。
>
>
> C# 移行への学び方の一例として、 public static class IoUtil みたいなクラスを作って、Io.c においていたようなものをひたすら書くということもできます。
> まずは C# の言語・雰囲気をなんとなく把握することを優先するなら、そういった static クラス(関数をただ置いている場所)を作るのもやり方の 1 つです。
> その後、C# におけるクラスのあり方をいろいろと学んでいくことになるでしょう。
> (何を static にして、何をインスタンスにするのかなど)
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ